<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>System Center Ideas &#187; Deployment</title>
	<atom:link href="http://systemcenterideas.com/category/deployment/feed/" rel="self" type="application/rss+xml" />
	<link>http://systemcenterideas.com</link>
	<description></description>
	<lastBuildDate>Tue, 08 Dec 2009 16:38:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Automatically Setting Display Resolution</title>
		<link>http://systemcenterideas.com/2009/10/automatically-setting-display-resolution/</link>
		<comments>http://systemcenterideas.com/2009/10/automatically-setting-display-resolution/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 13:13:42 +0000</pubDate>
		<dc:creator>Chad Ingles</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[MDT]]></category>

		<guid isPermaLink="false">http://systemcenterideas.com/2009/10/automatically-setting-display-resolution/</guid>
		<description><![CDATA[I recently needed to be able to automatically set the display resolution during operating system deployment. I couldn’t get the resolution to change by setting the XResolution and YResolution MDT properties so I put together the following solution. After following a thread on a myITforum mailing list about the same issue I put together this [...]]]></description>
			<content:encoded><![CDATA[<p>I recently needed to be able to automatically set the display resolution during operating system deployment. I couldn’t get the resolution to change by setting the XResolution and YResolution MDT properties so I put together the following solution.</p>
<p>After following a thread on a <a href="http://www.myitforum.com/">myITforum</a> mailing list about the same issue I put together this solution using this <a href="http://unattended.msfn.org/files/global/1365Vidchng.zip">Video Resolution Changer</a> which worked best for me out of the bunch that were mentioned. You could swap it out for another EXE by modifying the script.</p>
<p>The display resolution is configured automatically during deployment by running ResSwitch.vbs as a step in the task sequence. I started with <a href="http://www.eggheadcafe.com/forumarchives/scriptingvisualbasicscript/dec2005/post25026144.asp">this Speed/Duplex script</a> and modified it to set the resolution instead, using ResSwitch.ini to hold the configuration.</p>
<p>ResSwitch.ini uses the following format:</p>
<pre>[HWP2694]</pre>
<pre>;HP L2045w</pre>
<pre>WIDTH=1680</pre>
<pre>HEIGHT=1050</pre>
<p>Where the string between the brackets must be found in the “PNPDeviceID” WMI value in the root\cimv2\Win32_DesktopMonitor class. Lines beginning with “;” are ignored. You must include WIDTH and HEIGHT entries to specify the desired display resolution. All displays will be set to 32-bit colour depth and 60Hz refresh rate.</p>
<p>To retrieve the PNPDeviceID value in order to add a new monitor to ResSwitch.ini you can run the following:</p>
<p>1. Open a Command Prompt</p>
<p>2. Run “wmic desktopmonitor list full”</p>
<p><a href="http://systemcenterideas.com/wp-content/uploads/2009/10/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://systemcenterideas.com/wp-content/uploads/2009/10/image_thumb.png" border="0" alt="image" width="580" height="383" /></a></p>
<p>3. Look for the PNPDeviceID value and select a subset to use as the search string. Typically the value between the backslashes will work best.</p>
<p>To use the script just unzip the ResSwitch.zip file below, download the <a href="http://unattended.msfn.org/files/global/1365Vidchng.zip">Video Resolution Changer</a> and copy 1365VidChng.exe to the same folder. Then run ResSwitch.vbs, i.e., “cscript ResSwitch.vbs”.</p>
<p>It would be cool to collect a whole bunch of PNPDeviceIDs with resolutions to build a comprehensive INI file. Feel free to post yours in the comments and I’ll add it to the file!</p>
<p><a href="http://systemcenterideas.com/wp-content/uploads/2009/10/ResSwitch.zip">ResSwitch.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://systemcenterideas.com/2009/10/automatically-setting-display-resolution/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Application Installation Errors using SLShareDynamicLogging</title>
		<link>http://systemcenterideas.com/2009/09/application-installation-errors-using-slsharedynamiclogging/</link>
		<comments>http://systemcenterideas.com/2009/09/application-installation-errors-using-slsharedynamiclogging/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 15:29:38 +0000</pubDate>
		<dc:creator>Chad Ingles</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[MDT]]></category>

		<guid isPermaLink="false">http://systemcenterideas.com/2009/09/application-installation-errors-using-slsharedynamiclogging/</guid>
		<description><![CDATA[A quick note about an issue I recently encountered. I started seeing random application installation failures in the deployment task sequence with entries in BDD.Log like: ################    ZTIApplications    18/09/2009 1:00:35 PM    0 (0x0000) Dependent entry: {24db38a6-bb6d-4c05-acad-25682702ccb7}    ZTIApplications    18/09/2009 1:00:35 PM    0 (0x0000) ################    ZTIApplications    18/09/2009 1:00:35 PM    0 (0x0000) Using a local or mapped drive, [...]]]></description>
			<content:encoded><![CDATA[<p>A quick note about an issue I recently encountered. I started seeing random application installation failures in the deployment task sequence with entries in BDD.Log like:</p>
<hr />
<pre>################    ZTIApplications    18/09/2009 1:00:35 PM    0 (0x0000)
Dependent entry: {24db38a6-bb6d-4c05-acad-25682702ccb7}    ZTIApplications    18/09/2009 1:00:35 PM    0 (0x0000)
################    ZTIApplications    18/09/2009 1:00:35 PM    0 (0x0000)
Using a local or mapped drive, no connection is required.    ZTIApplications    18/09/2009 1:00:35 PM    0 (0x0000)
Change directory: Z:\Applications\Adobe Reader 9.1.3    ZTIApplications    18/09/2009 1:00:35 PM    0 (0x0000)
<strong>WARNING - unable to set working directory:  (-2147024893)</strong>    ZTIApplications    18/09/2009 1:00:35 PM    0 (0x0000)
Run Command: \\server.domain.com\DeploymentShare$\Tools\X64\bddrun.exe Adobe_Reader_9.cmd    ZTIApplications    18/09/2009 1:00:36 PM    0 (0x0000)
ZTI installing application     ZTIApplications    18/09/2009 1:00:36 PM    0 (0x0000)
About to run command: \\server.domain.com\DeploymentShare$\Tools\X64\bddrun.exe Adobe_Reader_9.cmd    ZTIApplications    18/09/2009 1:00:36 PM    0 (0x0000)
Return code from command = 2    ZTIApplications    18/09/2009 1:00:36 PM    0 (0x0000)
Application Adobe Reader 9.1.3 returned an unexpected return code: 2    ZTIApplications    18/09/2009 1:00:36 PM    0 (0x0000)</pre>
<hr />
But this only happened for about half of the applications. During the task sequence I opened a Command Prompt (good old F8) and noticed that Z: was already mapped (as the log said), but not to the root of the deployment share. It was mapped to the logging share. Of course the applications folder wasn’t under the logging share.</p>
<p>I had recently enabled logging (SLShare), and dynamic logging (SLShareDynamicLogging) to try to track the various pilot deploys that were going on. Disabling SLShareDynamicLogging resolved the issue.</p>
<p>Why only some applications? It was the applications that were using a .BAT or .CMD file to install. Those files require an environment with a current working directory and so need to be run from a mapped drive. The other applications either ran a .VBS script or the installation executable directly. They were able to run using the just the UNC path.</p>
<p>End result is that if you want or need to use SLShareDynamicLogging you’ll need to make sure none of your applications are using .BAT or .CMD based installations.</p>
]]></content:encoded>
			<wfw:commentRss>http://systemcenterideas.com/2009/09/application-installation-errors-using-slsharedynamiclogging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>USMT Issues with MDT 2010</title>
		<link>http://systemcenterideas.com/2009/09/usmt-issues-with-mdt-2010/</link>
		<comments>http://systemcenterideas.com/2009/09/usmt-issues-with-mdt-2010/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 17:48:55 +0000</pubDate>
		<dc:creator>Chad Ingles</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://systemcenterideas.com/2009/09/usmt-issues-with-mdt-2010/</guid>
		<description><![CDATA[I’m working on a Windows XP to Windows 7 migration project (I think we’ll all be working on those for the next couple of years!) using a standalone MDT 2010 solution. Overall it’s been working great and the improvements in MDT over each version have resulted in a really impressive deployment platform. I’ve got a [...]]]></description>
			<content:encoded><![CDATA[<p>I’m working on a Windows XP to Windows 7 migration project (I think we’ll all be working on those for the next couple of years!) using a standalone MDT 2010 solution. Overall it’s been working great and the improvements in MDT over each version have resulted in a really impressive deployment platform.</p>
<p>I’ve got a Windows XP REFRESH scenario working and USMT is doing what it’s supposed to do even with hardlinking enabled and working automatically. But it’s not capturing the users’ mapped printers and network drives, or other user settings. My Documents, desktop items, IE favourites, those are all fine.</p>
<p>It took a fair bit of digging but I finally came across this in USMTcapture.log</p>
<p>?<strong>2009-09-23 15:16:05, Info                  [0x000000] Downlevel Manifests folder is not present. System component settings will not be gathered.</strong></p>
<p>This Downlevel Manifests folder is pretty important. It’s used to gather all of those user settings from older operating systems like Windows XP.</p>
<p>I poked around and the DlManifests folder was being copied from the deployment share and it looked like the correct folder structure was in place:</p>
<p><a href="http://systemcenterideas.com/wp-content/uploads/2009/09/usmt.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="usmt" src="http://systemcenterideas.com/wp-content/uploads/2009/09/usmt_thumb.png" border="0" alt="usmt" width="247" height="136" /></a></p>
<p>Scanstate.exe just wasn’t finding the DlManifests folder. On a hunch, I ended up modifying the ZTIUserState.wsf script to specifically set the current working directory to “C:\MININT\USMT” and it fixed the problem!</p>
<p>Here’s what I added to ZTIUserState.wsf starting around line 620:</p>
<p><span style="font-family: Courier New;">On Error Resume Next<br />
&#8216;*** BEGIN MODIFICATIONS ***<br />
Dim objShell<br />
Dim sCurDir<br />
&#8216; Save current directory<br />
sCurDir = oFSO.GetAbsolutePathName(&#8220;.&#8221;)<br />
oLogging.CreateEntry &#8220;Saved current directory: &#8221; _</span></p>
<p><span style="font-family: Courier New;"> &amp; sCurDir, LogTypeInfo<br />
&#8216; Set the current directory to sUSMTPath<br />
Set objShell = CreateObject(&#8220;WScript.Shell&#8221;)<br />
objShell.CurrentDirectory = sUSMTPath<br />
oLogging.CreateEntry &#8220;Set current directory: &#8221; _</span></p>
<p><span style="font-family: Courier New;"> &amp; sUSMTPath, LogTypeInfo<br />
&#8216;*** END MODIFICATIONS *** </span></p>
<p><span style="font-family: Courier New;">sCmd = &#8220;cmd /c &#8220;&#8221;"&#8221;" &amp; sUSMTPath &amp; &#8220;\scanstate.exe&#8221;" &#8221; _</span></p>
<p><span style="font-family: Courier New;"> &amp; sScanStateArgs &amp; &#8221; &gt; nul 2&gt;&amp;1&#8243;&#8221;"<br />
iRetVal = oUtility.RunWithHeartbeat(sCmd) </span></p>
<p><span style="font-family: Courier New;">&#8216;*** BEGIN MODIFICATIONS ***<br />
&#8216; Reset current directory to original value<br />
objShell.CurrentDirectory = sCurDir<br />
oLogging.CreateEntry &#8220;Set current directory: &#8221; _</span></p>
<p><span style="font-family: Courier New;"> &amp; sCurDir, LogTypeInfo<br />
&#8216;*** END MODIFICATIONS ***</span></p>
<p><span style="font-family: Courier New;"><em>UPDATE: I&#8217;ve attached the working ZTIUserState.wsf script. Big note, this is a modified MDT 2010 <strong>RC </strong>script. I&#8217;m not sure if there are other </em></span><span style="font-family: Courier New;"><em>changes between RC and RTM. I&#8217;ll take a look when I find a spare hour!</em></span></p>
<p><em>UPDATE2: Thanks Johan for confirming below that the fix applies to both MDT 2010 RC and RTM.</em></p>
<p><em>UPDATE3: This same fix works for MDT 2010 RC and RTM. The only difference (confirmed by Johan below) is the version number in the script comments. I&#8217;ve updated the attachment to include the RTM version of the script.</em></p>
<p><span style="font-family: 'Courier New';"><a href="http://systemcenterideas.com/wp-content/uploads/2009/11/ZTIUserState.zip">ZTIUserState</a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://systemcenterideas.com/2009/09/usmt-issues-with-mdt-2010/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->