<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://myitforum.com/cs2/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results matching tags 'Operating System Deployment', 'MDT 2008', and 'Dynamic Applications'</title><link>http://myitforum.com/cs2/search/SearchResults.aspx?q=&amp;tag=Operating+System+Deployment%2CMDT+2008%2CDynamic+Applications&amp;orTags=0&amp;o=DateDescending</link><description>Search results matching tags 'Operating System Deployment', 'MDT 2008', and 'Dynamic Applications'</description><dc:language>en-US</dc:language><generator>CommunityServer 2007.1 SP2 (Build: 31113.47)</generator><item><title>Deploying Applications Based Upon Add/Remove Programs History – Using Microsoft Deployment Toolkit with SMS/SCCM</title><link>http://myitforum.com/cs2/blogs/cnackers/archive/2009/11/03/deploying-applications-based-upon-add-remove-programs-history-using-microsoft-deployment-toolkit-with-sms-sccm.aspx</link><pubDate>Tue, 03 Nov 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:142664</guid><dc:creator>cnackers</dc:creator><description>&lt;p&gt;The documentation in the MDT toolkit is pretty good, but I did need to change the query to suite my needs.&amp;nbsp; The default query uses ProdID0 in the database, i found that DisplayName0 makes a lot more sense, since that is what you actually &amp;quot;see&amp;quot; when you look at the ARP in Control Panel.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Also to note, that i&amp;#39;ve found it&amp;#39;s a good idea to always make sure you specify your SQLShare property for all your database sections in your customsettings.ini, it&amp;#39;s also a good idea to use a differen share from your logs, i just use a generic SQL$ share that isn&amp;#39;t linked to anything else.&amp;nbsp; Otherwise I&amp;#39;ve seen some errors on the logs because another process owns that share.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;So your new stored procedure in the MDT database would be:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;CREATE PROCEDURE [dbo].[RetrievePackages]&lt;/p&gt;
&lt;p&gt;@MacAddress CHAR(17)&lt;/p&gt;
&lt;p&gt;AS&lt;/p&gt;
&lt;p&gt;SET NOCOUNT ON&lt;/p&gt;
&lt;p&gt;/* Select and return all the appropriate records based on current inventory */&lt;/p&gt;
&lt;p&gt;SELECT * FROM PackageMapping&lt;/p&gt;
&lt;p&gt;WHERE ARPName IN&lt;/p&gt;
&lt;p&gt;(&lt;/p&gt;
&lt;p&gt;SELECT DisplayName0 FROM DATABASE.dbo.v_GS_ADD_REMOVE_PROGRAMS a, DATABASE.dbo.v_GS_NETWORK_ADAPTER n&lt;/p&gt;
&lt;p&gt;WHERE a.ResourceID = n.ResourceID AND&lt;/p&gt;
&lt;p&gt;MACAddress0 = @MacAddress&lt;/p&gt;
&lt;p&gt;)&lt;/p&gt;
&lt;p&gt;GO&lt;/p&gt;
&lt;p&gt;NOTE: Changed ProdID0 to DisplayName0, information returned from ProdID0 was not was I was looking for&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Here is the required information needed in your customsettings.ini&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Priority=DynamicPackages&lt;/p&gt;
&lt;p&gt;[SMS]&lt;/p&gt;
&lt;p&gt;SQLServer=SERVER&lt;/p&gt;
&lt;p&gt;Database=SMS DATABASE&lt;/p&gt;
&lt;p&gt;Table=v_Program&lt;/p&gt;
&lt;p&gt;Parameters=PackageID,ProgramName&lt;/p&gt;
&lt;p&gt;SQLShare=SQL$&lt;/p&gt;
&lt;p&gt;NetLib=DBNMPNTW&lt;/p&gt;
&lt;p&gt;[DynamicPackages]&lt;/p&gt;
&lt;p&gt;SQLDefault=DB_DynamicPackages&lt;/p&gt;
&lt;p&gt;[DB_DynamicPackages]&lt;/p&gt;
&lt;p&gt;SQLServer=SERVER&lt;/p&gt;
&lt;p&gt;Database=MDT DATABASE&lt;/p&gt;
&lt;p&gt;StoredProcedure=RetrievePackages&lt;/p&gt;
&lt;p&gt;Parameters=MacAddress&lt;/p&gt;
&lt;p&gt;SQLShare=SQL$&lt;/p&gt;
&lt;p&gt;NetLib=DBNMPNTW&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Here is an example of the PackageMapping table:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://myitforum.com/cs2/blogs/cnackers/image_0A90A204.png"&gt;&lt;img title="image" style="BORDER-RIGHT:0px;BORDER-TOP:0px;DISPLAY:inline;BORDER-LEFT:0px;BORDER-BOTTOM:0px;" height="127" alt="image" src="http://myitforum.com/cs2/blogs/cnackers/image_thumb_2EB88D44.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;The nice thing about the package mapping is that you can control what is being installed.&amp;nbsp; So if you want to install Adobe Reader 9, you create a mapping for any possible old version and say, Reader 9 is the new version.&amp;nbsp; So you can “map” Reader 7,8 to Reader 9.&amp;nbsp; So if their ARP report shows Reader 8 installed, you can tell it to install Reader 9 instead after the refresh.&lt;/p&gt;
&lt;p&gt;The one bad thing about package mapping is that i doesn’t know about licensing.&amp;nbsp; It’s also entirely based upon the DisplayName, so if you have a trial version of something that shows up the same as a licensed version, if you map that in the table, someone who had a trial version will now have a licensed version installed.&amp;nbsp; Just something to keep in mind.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you have any questions, feel free to contact me...&amp;nbsp; I’ve also attached the documentation taken from the MDT 2008 reference material.&lt;/p&gt;</description></item><item><title>Deploying Applications Based Upon Add/Remove Programs History – Using Microsoft Deployment Toolkit with SMS/SCCM</title><link>http://myitforum.com/cs2/blogs/cnackers/archive/2009/11/03/deploying-applications-based-upon-add-remove-programs-history-using-microsoft-deployment-toolkit-with-sms-sccm.aspx</link><pubDate>Tue, 03 Nov 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:142664</guid><dc:creator>cnackers</dc:creator><description>&lt;p&gt;The documentation in the MDT toolkit is pretty good, but I did need to change the query to suite my needs.&amp;nbsp; The default query uses ProdID0 in the database, i found that DisplayName0 makes a lot more sense, since that is what you actually &amp;quot;see&amp;quot; when you look at the ARP in Control Panel.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Also to note, that i&amp;#39;ve found it&amp;#39;s a good idea to always make sure you specify your SQLShare property for all your database sections in your customsettings.ini, it&amp;#39;s also a good idea to use a differen share from your logs, i just use a generic SQL$ share that isn&amp;#39;t linked to anything else.&amp;nbsp; Otherwise I&amp;#39;ve seen some errors on the logs because another process owns that share.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;So your new stored procedure in the MDT database would be:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;CREATE PROCEDURE [dbo].[RetrievePackages]&lt;/p&gt;
&lt;p&gt;@MacAddress CHAR(17)&lt;/p&gt;
&lt;p&gt;AS&lt;/p&gt;
&lt;p&gt;SET NOCOUNT ON&lt;/p&gt;
&lt;p&gt;/* Select and return all the appropriate records based on current inventory */&lt;/p&gt;
&lt;p&gt;SELECT * FROM PackageMapping&lt;/p&gt;
&lt;p&gt;WHERE ARPName IN&lt;/p&gt;
&lt;p&gt;(&lt;/p&gt;
&lt;p&gt;SELECT DisplayName0 FROM DATABASE.dbo.v_GS_ADD_REMOVE_PROGRAMS a, DATABASE.dbo.v_GS_NETWORK_ADAPTER n&lt;/p&gt;
&lt;p&gt;WHERE a.ResourceID = n.ResourceID AND&lt;/p&gt;
&lt;p&gt;MACAddress0 = @MacAddress&lt;/p&gt;
&lt;p&gt;)&lt;/p&gt;
&lt;p&gt;GO&lt;/p&gt;
&lt;p&gt;NOTE: Changed ProdID0 to DisplayName0, information returned from ProdID0 was not was I was looking for&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Here is the required information needed in your customsettings.ini&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Priority=DynamicPackages&lt;/p&gt;
&lt;p&gt;[SMS]&lt;/p&gt;
&lt;p&gt;SQLServer=SERVER&lt;/p&gt;
&lt;p&gt;Database=SMS DATABASE&lt;/p&gt;
&lt;p&gt;Table=v_Program&lt;/p&gt;
&lt;p&gt;Parameters=PackageID,ProgramName&lt;/p&gt;
&lt;p&gt;SQLShare=SQL$&lt;/p&gt;
&lt;p&gt;NetLib=DBNMPNTW&lt;/p&gt;
&lt;p&gt;[DynamicPackages]&lt;/p&gt;
&lt;p&gt;SQLDefault=DB_DynamicPackages&lt;/p&gt;
&lt;p&gt;[DB_DynamicPackages]&lt;/p&gt;
&lt;p&gt;SQLServer=SERVER&lt;/p&gt;
&lt;p&gt;Database=MDT DATABASE&lt;/p&gt;
&lt;p&gt;StoredProcedure=RetrievePackages&lt;/p&gt;
&lt;p&gt;Parameters=MacAddress&lt;/p&gt;
&lt;p&gt;SQLShare=SQL$&lt;/p&gt;
&lt;p&gt;NetLib=DBNMPNTW&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Here is an example of the PackageMapping table:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://myitforum.com/cs2/blogs/cnackers/image_0A90A204.png"&gt;&lt;img title="image" style="BORDER-RIGHT:0px;BORDER-TOP:0px;DISPLAY:inline;BORDER-LEFT:0px;BORDER-BOTTOM:0px;" height="127" alt="image" src="http://myitforum.com/cs2/blogs/cnackers/image_thumb_2EB88D44.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;The nice thing about the package mapping is that you can control what is being installed.&amp;nbsp; So if you want to install Adobe Reader 9, you create a mapping for any possible old version and say, Reader 9 is the new version.&amp;nbsp; So you can “map” Reader 7,8 to Reader 9.&amp;nbsp; So if their ARP report shows Reader 8 installed, you can tell it to install Reader 9 instead after the refresh.&lt;/p&gt;
&lt;p&gt;The one bad thing about package mapping is that i doesn’t know about licensing.&amp;nbsp; It’s also entirely based upon the DisplayName, so if you have a trial version of something that shows up the same as a licensed version, if you map that in the table, someone who had a trial version will now have a licensed version installed.&amp;nbsp; Just something to keep in mind.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you have any questions, feel free to contact me...&amp;nbsp; I’ve also attached the documentation taken from the MDT 2008 reference material.&lt;/p&gt;</description></item><item><title>Dealing with Laptop Standby Power Mode – Part 2</title><link>http://myitforum.com/cs2/blogs/cnackers/archive/2009/04/22/dealing-with-laptop-standby-power-mode-part-2.aspx</link><pubDate>Wed, 22 Apr 2009 04:00:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:135193</guid><dc:creator>cnackers</dc:creator><description>&lt;p&gt;This is a continuation of &lt;a href="http://myitforum.com/cs2/blogs/cnackers/archive/2009/04/22/dealing-with-laptop-standby-power-mode-part-1.aspx" target="_blank"&gt;Part 1&lt;/a&gt; where i discussed a script to configure the network adapters to allow for WOL while in stand-by mode or hibernation mode.&lt;/p&gt;  &lt;p&gt;Is this post we’ll address Issue #2&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Issue #2&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Once you have resolved the issue of being able to bring the devices out of stand-by mode, then you ideally want to keep those machines up indefinitely or at least until the application installs complete.&amp;#160; So then you need to either have a group policy or “something” that configures the laptop to stay on after being imaged.&amp;#160;&amp;#160; I’ll cover this issue in Part 2.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Well here we are in Part 2, so lets address keeping the machines on.&amp;#160; It’s great that we have a way to at least wake up the machines from stand-by mode, but it would be even better if we could keep them from going into stand-by to begin with.&amp;#160; &lt;/p&gt;  &lt;p&gt;I was able to address this issue in our environment by creating a SMS package that configured the laptop power scheme to be “Always On”.&amp;#160; Now once a user logs in and changes the power scheme, they could override my setting, but that is fine, my primary concern is dealing with the laptops after they are deployed or refreshed.&amp;#160; So once i’m done with what i need to do, the users can adjust the power settings as needed.&lt;/p&gt;  &lt;p&gt;I simply created a new package called “Power Config” that has a program called “Always On” that is configured to run unattended.&amp;#160; My command line for my program is:&lt;/p&gt;  &lt;p&gt;C:\WINDOWS\system32\powercfg.exe /SETACTIVE &amp;quot;Always On&amp;quot;&lt;/p&gt;  &lt;p&gt;So, by running it this way, i don’t need to have files on the distribution point for the package to work, right? Well yes and no :)&amp;#160; If you are simply deploying this program through the normal software distribution process, then yes, correct you do not need to have files on the distribution point since it’s simply calling a command line that calls a local file.&amp;#160; &lt;/p&gt;  &lt;p&gt;However, there seems to be a small bug if you are deploying this package through MDT/SMS and are calling the package as part of the OSD process, in my case through customsettings.ini again.&amp;#160; So i now have a Packages002=ABC0001:Always On.&lt;/p&gt;  &lt;p&gt;However, without any package files actually on the DP, the customsettings.ini process gets a little cranky and you will see the following result in osdswdprogramexec.log&lt;/p&gt;  &lt;p&gt;&lt;a href="http://myitforum.com/cs2/blogs/cnackers/image_7945F797.png"&gt;&lt;img title="image" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="225" alt="image" src="http://myitforum.com/cs2/blogs/cnackers/image_thumb_2FB6A99A.png" width="576" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Basically stating that it can’t find the distribution point for the package.&amp;#160; Now i’ve seen this before if you don’t have your OSDMP and OSDSiteCode properties configured in customsettings.ini however, i know that i do and that they are correct.&amp;#160; &lt;/p&gt;  &lt;p&gt;So i simply added a small batch file so the DP has something, and then set the source directory for the package to a folder with that batch file and then updated the DP’s.&amp;#160; Once that had been completed, i ran the process again and my install went through just fine.&amp;#160; So installing as a package through SMS, worked great without any source files.&amp;#160; However, when i tried to call the package through customsettings.ini then i needed to have some files in the DP in order for the package to complete successfully. For whatever reason.&lt;/p&gt;  &lt;p&gt;Now that i’ve got this package working through customsettings.ini, it’s again part of the tail end of my imaging process and now not only can i power on my machines if they do go into stand-by mode, but i have been able to configure them to not go into stand-by mode by default after being imaged so hopefully i won’t have to wake them up to begin with.&lt;/p&gt;  &lt;p&gt;And that’s it! Hope this helps.&lt;/p&gt;</description></item><item><title>Dealing with Laptop Standby Power Mode – Part 2</title><link>http://myitforum.com/cs2/blogs/cnackers/archive/2009/04/22/dealing-with-laptop-standby-power-mode-part-2.aspx</link><pubDate>Wed, 22 Apr 2009 04:00:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:135193</guid><dc:creator>cnackers</dc:creator><description>&lt;p&gt;This is a continuation of &lt;a href="http://myitforum.com/cs2/blogs/cnackers/archive/2009/04/22/dealing-with-laptop-standby-power-mode-part-1.aspx" target="_blank"&gt;Part 1&lt;/a&gt; where i discussed a script to configure the network adapters to allow for WOL while in stand-by mode or hibernation mode.&lt;/p&gt;  &lt;p&gt;Is this post we’ll address Issue #2&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Issue #2&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Once you have resolved the issue of being able to bring the devices out of stand-by mode, then you ideally want to keep those machines up indefinitely or at least until the application installs complete.&amp;#160; So then you need to either have a group policy or “something” that configures the laptop to stay on after being imaged.&amp;#160;&amp;#160; I’ll cover this issue in Part 2.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Well here we are in Part 2, so lets address keeping the machines on.&amp;#160; It’s great that we have a way to at least wake up the machines from stand-by mode, but it would be even better if we could keep them from going into stand-by to begin with.&amp;#160; &lt;/p&gt;  &lt;p&gt;I was able to address this issue in our environment by creating a SMS package that configured the laptop power scheme to be “Always On”.&amp;#160; Now once a user logs in and changes the power scheme, they could override my setting, but that is fine, my primary concern is dealing with the laptops after they are deployed or refreshed.&amp;#160; So once i’m done with what i need to do, the users can adjust the power settings as needed.&lt;/p&gt;  &lt;p&gt;I simply created a new package called “Power Config” that has a program called “Always On” that is configured to run unattended.&amp;#160; My command line for my program is:&lt;/p&gt;  &lt;p&gt;C:\WINDOWS\system32\powercfg.exe /SETACTIVE &amp;quot;Always On&amp;quot;&lt;/p&gt;  &lt;p&gt;So, by running it this way, i don’t need to have files on the distribution point for the package to work, right? Well yes and no :)&amp;#160; If you are simply deploying this program through the normal software distribution process, then yes, correct you do not need to have files on the distribution point since it’s simply calling a command line that calls a local file.&amp;#160; &lt;/p&gt;  &lt;p&gt;However, there seems to be a small bug if you are deploying this package through MDT/SMS and are calling the package as part of the OSD process, in my case through customsettings.ini again.&amp;#160; So i now have a Packages002=ABC0001:Always On.&lt;/p&gt;  &lt;p&gt;However, without any package files actually on the DP, the customsettings.ini process gets a little cranky and you will see the following result in osdswdprogramexec.log&lt;/p&gt;  &lt;p&gt;&lt;a href="http://myitforum.com/cs2/blogs/cnackers/image_7945F797.png"&gt;&lt;img title="image" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="225" alt="image" src="http://myitforum.com/cs2/blogs/cnackers/image_thumb_2FB6A99A.png" width="576" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Basically stating that it can’t find the distribution point for the package.&amp;#160; Now i’ve seen this before if you don’t have your OSDMP and OSDSiteCode properties configured in customsettings.ini however, i know that i do and that they are correct.&amp;#160; &lt;/p&gt;  &lt;p&gt;So i simply added a small batch file so the DP has something, and then set the source directory for the package to a folder with that batch file and then updated the DP’s.&amp;#160; Once that had been completed, i ran the process again and my install went through just fine.&amp;#160; So installing as a package through SMS, worked great without any source files.&amp;#160; However, when i tried to call the package through customsettings.ini then i needed to have some files in the DP in order for the package to complete successfully. For whatever reason.&lt;/p&gt;  &lt;p&gt;Now that i’ve got this package working through customsettings.ini, it’s again part of the tail end of my imaging process and now not only can i power on my machines if they do go into stand-by mode, but i have been able to configure them to not go into stand-by mode by default after being imaged so hopefully i won’t have to wake them up to begin with.&lt;/p&gt;  &lt;p&gt;And that’s it! Hope this helps.&lt;/p&gt;</description></item><item><title>Dealing with Laptop Standby Power Mode – Part 2</title><link>http://myitforum.com/cs2/blogs/cnackers/archive/2009/04/22/dealing-with-laptop-standby-power-mode-part-2.aspx</link><pubDate>Wed, 22 Apr 2009 04:00:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:135193</guid><dc:creator>cnackers</dc:creator><description>&lt;p&gt;This is a continuation of &lt;a href="http://myitforum.com/cs2/blogs/cnackers/archive/2009/04/22/dealing-with-laptop-standby-power-mode-part-1.aspx" target="_blank"&gt;Part 1&lt;/a&gt; where i discussed a script to configure the network adapters to allow for WOL while in stand-by mode or hibernation mode.&lt;/p&gt;  &lt;p&gt;Is this post we’ll address Issue #2&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Issue #2&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Once you have resolved the issue of being able to bring the devices out of stand-by mode, then you ideally want to keep those machines up indefinitely or at least until the application installs complete.&amp;#160; So then you need to either have a group policy or “something” that configures the laptop to stay on after being imaged.&amp;#160;&amp;#160; I’ll cover this issue in Part 2.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Well here we are in Part 2, so lets address keeping the machines on.&amp;#160; It’s great that we have a way to at least wake up the machines from stand-by mode, but it would be even better if we could keep them from going into stand-by to begin with.&amp;#160; &lt;/p&gt;  &lt;p&gt;I was able to address this issue in our environment by creating a SMS package that configured the laptop power scheme to be “Always On”.&amp;#160; Now once a user logs in and changes the power scheme, they could override my setting, but that is fine, my primary concern is dealing with the laptops after they are deployed or refreshed.&amp;#160; So once i’m done with what i need to do, the users can adjust the power settings as needed.&lt;/p&gt;  &lt;p&gt;I simply created a new package called “Power Config” that has a program called “Always On” that is configured to run unattended.&amp;#160; My command line for my program is:&lt;/p&gt;  &lt;p&gt;C:\WINDOWS\system32\powercfg.exe /SETACTIVE &amp;quot;Always On&amp;quot;&lt;/p&gt;  &lt;p&gt;So, by running it this way, i don’t need to have files on the distribution point for the package to work, right? Well yes and no :)&amp;#160; If you are simply deploying this program through the normal software distribution process, then yes, correct you do not need to have files on the distribution point since it’s simply calling a command line that calls a local file.&amp;#160; &lt;/p&gt;  &lt;p&gt;However, there seems to be a small bug if you are deploying this package through MDT/SMS and are calling the package as part of the OSD process, in my case through customsettings.ini again.&amp;#160; So i now have a Packages002=ABC0001:Always On.&lt;/p&gt;  &lt;p&gt;However, without any package files actually on the DP, the customsettings.ini process gets a little cranky and you will see the following result in osdswdprogramexec.log&lt;/p&gt;  &lt;p&gt;&lt;a href="http://myitforum.com/cs2/blogs/cnackers/image_7945F797.png"&gt;&lt;img title="image" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="225" alt="image" src="http://myitforum.com/cs2/blogs/cnackers/image_thumb_2FB6A99A.png" width="576" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Basically stating that it can’t find the distribution point for the package.&amp;#160; Now i’ve seen this before if you don’t have your OSDMP and OSDSiteCode properties configured in customsettings.ini however, i know that i do and that they are correct.&amp;#160; &lt;/p&gt;  &lt;p&gt;So i simply added a small batch file so the DP has something, and then set the source directory for the package to a folder with that batch file and then updated the DP’s.&amp;#160; Once that had been completed, i ran the process again and my install went through just fine.&amp;#160; So installing as a package through SMS, worked great without any source files.&amp;#160; However, when i tried to call the package through customsettings.ini then i needed to have some files in the DP in order for the package to complete successfully. For whatever reason.&lt;/p&gt;  &lt;p&gt;Now that i’ve got this package working through customsettings.ini, it’s again part of the tail end of my imaging process and now not only can i power on my machines if they do go into stand-by mode, but i have been able to configure them to not go into stand-by mode by default after being imaged so hopefully i won’t have to wake them up to begin with.&lt;/p&gt;  &lt;p&gt;And that’s it! Hope this helps.&lt;/p&gt;</description></item><item><title>Debugging SMS 2003 OSD Processes</title><link>http://myitforum.com/cs2/blogs/cnackers/archive/2009/04/21/debugging-sms-2003-osd-processes.aspx</link><pubDate>Tue, 21 Apr 2009 04:00:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:135048</guid><dc:creator>cnackers</dc:creator><description>&lt;p&gt;One of the tricks i’ve learned over the years is a way to debug your rules and settings for your ZTI OSD process.&amp;#160; If you make a small change, sometimes you just want to see if that change or rule is processed correctly.&amp;#160; Which means you don’t want to have actually do a full ZTI every time you want to test a change.&amp;#160; If you just want to test a change to your customsettings.ini you can create a quick script and copy a few files to a location and test.&amp;#160; The end result will be the logs files you can review to verify the changes.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you create a folder called “ZTI_Debug”, and then copy your customsettings.ini, ZTIGather.wsf, ZTIGather.xml, and ZTIUtility.vbs into that folder.&amp;#160; Then you just need to create a batch file to run the process.&amp;#160; The batch file should contain the following lines:&lt;/p&gt;  &lt;p&gt;:Start:&lt;/p&gt;  &lt;p&gt;if exist c:\minint\nul rd c:\minint /s /q   &lt;br /&gt;cscript.exe ZTIGather.wsf /debug:true &lt;/p&gt;  &lt;p&gt;:End:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now, whenever you run that batch file on the target machine or VM, it will process your ZTI rules/queries and output the result to the logs files.&amp;#160; On the client under OSDLOGS, you will see the BDD.log, variables.dat, and ZTIGather.log.&amp;#160; You can review those logs to verify that your cs.ini is processing successfully, or that your SQL queries are running properly.&amp;#160; I often use this process to verify that my packages are being correctly identified, that desktops are getting desktop packages, and laptops are getting the laptop specific packages, etc or test any other changes to my cs.ini that doesn’t require a full refresh to test.&lt;/p&gt;  &lt;p&gt;Just a great way to quickly run the rules and process your cs.ini rules without actually doing a refresh.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Hope this helps… &lt;/p&gt;</description></item><item><title>Debugging SMS 2003 OSD Processes</title><link>http://myitforum.com/cs2/blogs/cnackers/archive/2009/04/21/debugging-sms-2003-osd-processes.aspx</link><pubDate>Tue, 21 Apr 2009 04:00:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:135048</guid><dc:creator>cnackers</dc:creator><description>&lt;p&gt;One of the tricks i’ve learned over the years is a way to debug your rules and settings for your ZTI OSD process.&amp;#160; If you make a small change, sometimes you just want to see if that change or rule is processed correctly.&amp;#160; Which means you don’t want to have actually do a full ZTI every time you want to test a change.&amp;#160; If you just want to test a change to your customsettings.ini you can create a quick script and copy a few files to a location and test.&amp;#160; The end result will be the logs files you can review to verify the changes.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you create a folder called “ZTI_Debug”, and then copy your customsettings.ini, ZTIGather.wsf, ZTIGather.xml, and ZTIUtility.vbs into that folder.&amp;#160; Then you just need to create a batch file to run the process.&amp;#160; The batch file should contain the following lines:&lt;/p&gt;  &lt;p&gt;:Start:&lt;/p&gt;  &lt;p&gt;if exist c:\minint\nul rd c:\minint /s /q   &lt;br /&gt;cscript.exe ZTIGather.wsf /debug:true &lt;/p&gt;  &lt;p&gt;:End:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now, whenever you run that batch file on the target machine or VM, it will process your ZTI rules/queries and output the result to the logs files.&amp;#160; On the client under OSDLOGS, you will see the BDD.log, variables.dat, and ZTIGather.log.&amp;#160; You can review those logs to verify that your cs.ini is processing successfully, or that your SQL queries are running properly.&amp;#160; I often use this process to verify that my packages are being correctly identified, that desktops are getting desktop packages, and laptops are getting the laptop specific packages, etc or test any other changes to my cs.ini that doesn’t require a full refresh to test.&lt;/p&gt;  &lt;p&gt;Just a great way to quickly run the rules and process your cs.ini rules without actually doing a refresh.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Hope this helps… &lt;/p&gt;</description></item><item><title>Debugging SMS 2003 OSD Processes</title><link>http://myitforum.com/cs2/blogs/cnackers/archive/2009/04/21/debugging-sms-2003-osd-processes.aspx</link><pubDate>Tue, 21 Apr 2009 04:00:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:135048</guid><dc:creator>cnackers</dc:creator><description>&lt;p&gt;One of the tricks i’ve learned over the years is a way to debug your rules and settings for your ZTI OSD process.&amp;#160; If you make a small change, sometimes you just want to see if that change or rule is processed correctly.&amp;#160; Which means you don’t want to have actually do a full ZTI every time you want to test a change.&amp;#160; If you just want to test a change to your customsettings.ini you can create a quick script and copy a few files to a location and test.&amp;#160; The end result will be the logs files you can review to verify the changes.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you create a folder called “ZTI_Debug”, and then copy your customsettings.ini, ZTIGather.wsf, ZTIGather.xml, and ZTIUtility.vbs into that folder.&amp;#160; Then you just need to create a batch file to run the process.&amp;#160; The batch file should contain the following lines:&lt;/p&gt;  &lt;p&gt;:Start:&lt;/p&gt;  &lt;p&gt;if exist c:\minint\nul rd c:\minint /s /q   &lt;br /&gt;cscript.exe ZTIGather.wsf /debug:true &lt;/p&gt;  &lt;p&gt;:End:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now, whenever you run that batch file on the target machine or VM, it will process your ZTI rules/queries and output the result to the logs files.&amp;#160; On the client under OSDLOGS, you will see the BDD.log, variables.dat, and ZTIGather.log.&amp;#160; You can review those logs to verify that your cs.ini is processing successfully, or that your SQL queries are running properly.&amp;#160; I often use this process to verify that my packages are being correctly identified, that desktops are getting desktop packages, and laptops are getting the laptop specific packages, etc or test any other changes to my cs.ini that doesn’t require a full refresh to test.&lt;/p&gt;  &lt;p&gt;Just a great way to quickly run the rules and process your cs.ini rules without actually doing a refresh.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Hope this helps… &lt;/p&gt;</description></item><item><title>Dynamic Applications – 1618 error codes</title><link>http://myitforum.com/cs2/blogs/cnackers/archive/2009/01/30/dynamic-applications-1618-error-codes.aspx</link><pubDate>Fri, 30 Jan 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:129079</guid><dc:creator>cnackers</dc:creator><description>&lt;p&gt;So as i’ve mentioned in previous blogs, i’ve been working with dynamic applications quite a bit lately.&amp;#160; The one issue i kept running into lately was 1618 error codes for the execution history.&amp;#160; Eventually i was able to resolve everything, but there were a few reasons for those types of errors to show up, so i wanted to create a blog to help others troubleshoot the issue.&amp;#160; Obviously the 1618 error messages are related to MSI based installs. So you won’t receive such an error with a setup.exe or another type of install.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I found 2 main causes of the 1618 error codes, and you could have one or both of the issues in your environment depending on configurations.&lt;/p&gt;  &lt;p&gt;1) Conflicting installs with SMS 2003&lt;/p&gt;  &lt;p&gt;2) SMS Client Health Script&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;1 - Conflicting install with SMS 2003&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I specifically mention SMS 2003 here because from what i understand and have been told, SCCM does not have this issue anymore. Essentially what happens is that when ZTIPackages is installing it’s applications, SMS can also attempt to install it’s applications, so you end up with 2 MSI installs trying to run at the same time and one of them will work, the other(s) will fail with the 1618 error code which is “another installation in progress.”&amp;#160;&amp;#160; I didn’t run into this problem very often, if at all, on a new computer build, since there wouldn’t be a client history and standing advertisements.&amp;#160; However, the problem was very easy to reproduce when doing a ZTI through SMS.&amp;#160; Since the advertisements were standing and ready to go, when the machine was doing imaging and back online, there was enough time while ZTIPackages was running for the client to receive it’s policies and attempt to start installing the requested applications. &lt;/p&gt;  &lt;p&gt;So, now that we identified the issue, how do we resolve it?&amp;#160; Well simply we need to “take care” of the SMS Client, and stop it from doing anything while ZTIPackages is running.&amp;#160; The 2 best ways to do this are to either stop the SMS Client Service, or to disable the Software Distribution Component.&amp;#160; Disabling the Software Distribution component is a more reliable method, but also has a great risk since you are disabling the component, if your “re-enable” script doesn’t work, you are stuck with a machine or machines that won’t install software until the issue is resolved.&amp;#160; Stopping the SMS server (CCMEXEC) works as well, but is less reliable, because if the service starts up again for some reason, you are back to square 1 and installs will start conflicting.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Stopping the CCMEXEC service:&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;You can use a few methods of stopping the service.&amp;#160; You can use simple command lines like “net stop” and “sc stop”, along with “net start” and “sc start”.&amp;#160; Or you could use a more advanced method calling a script.&amp;#160; Here is a script from the Deployment Guys that allows you to stop and start a service.&amp;#160;&amp;#160;&amp;#160; Here is the usage of the script:&lt;/p&gt;  &lt;p&gt;Usage:&amp;#160;&amp;#160;&amp;#160;&amp;#160; cscript zCFG-Services.wsf [/service:ServiceName] [/state:Start or Stop] [/debug:true] &lt;/p&gt;  &lt;p&gt; NOTE: /service:ServiceName is case sensitive. /state: can be Start or Stop only &lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterEditableSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:38306056-1a9a-4e1d-b5ab-ccde40989c2f" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;p&gt;zCFG-services.zip &lt;a href="http://myitforum.com/cs2/blogs/cnackers/zCFGservices_4B19E6D9.zip" target="_blank"&gt;zCFG-services.zip&lt;/a&gt;&lt;/p&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;Any of the above methods will work, just each have their advantages and disadvantages.&amp;#160; Just remember to restart the service back up after the fact.&amp;#160; I typically put the stop service command at the beginning of the State Restore phase.&amp;#160; I restart the service after User State in the State Restore phase, this makes sure that no program from SMS are running while you are restoring the user state data.&amp;#160;&amp;#160;&amp;#160; The only important thing is that you are stopping and starting the service before/after ZTIpackages, “Install Packages”.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Disabling the Software Distribution agent:&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;I’ve blogged on this before, so i won’t repost that info again.&amp;#160; The information you need is located here: &lt;a title="http://myitforum.com/cs2/blogs/cnackers/archive/2009/01/25/pausing-or-stopping-sms-software-distribution.aspx" href="http://myitforum.com/cs2/blogs/cnackers/archive/2009/01/25/pausing-or-stopping-sms-software-distribution.aspx"&gt;http://myitforum.com/cs2/blogs/cnackers/archive/2009/01/25/pausing-or-stopping-sms-software-distribution.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you are using this method, I disable the agent before ZTIPackages runs, and i re-enable it after USMT restores user data.&lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterEditableSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:c24812db-159d-4302-bc3c-9cc332107f9f" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;p&gt;ZTI-SMSSD-Scripts.zip &lt;a href="http://myitforum.com/cs2/blogs/cnackers/ZTISMSSDScripts_2D3B62D8.zip" target="_blank"&gt;ZTI-SMSSD-Scripts.zip&lt;/a&gt;&lt;/p&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;2 - SMS Client Health Script&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The client health script is a wonderful script created by some of the guys on MyITForum that work with &lt;a href="http://www.dudeworks.com/"&gt;Dudeworks&lt;/a&gt;.&amp;#160; This is a great free solution to dealing with common client issues and just keeping a good watch over your clients. Typically you would configure this script to run through Group Policy as a start up script.&amp;#160; &lt;/p&gt;  &lt;p&gt;I did run into a few issues with the script and conflicting with the Dynamic Applications process.&amp;#160;&amp;#160; Here are the checks that can be enabled/disabled for the script to verify.&lt;/p&gt;  &lt;p&gt;do_CHK_CCMEXEC = true&lt;/p&gt;  &lt;p&gt;do_CHK_SYSTEMPATH = true   &lt;br /&gt;do_CHK_AUTOUPDATE = true&amp;#160; &lt;br /&gt; do_CHK_SMSLOCALADMIN = false     &lt;br /&gt;do_CHK_ADMSHARE = true    &lt;br /&gt;do_CHK_RemoteReg = true    &lt;br /&gt;do_CHK_WMI_SERVICE = true    &lt;br /&gt;do_CHK_BITS_SERVICE = true    &lt;br /&gt;do_CHK_REGXML = true    &lt;br /&gt;do_CHK_AdvClient = true    &lt;br /&gt;do_SEND_CCR = true    &lt;br /&gt;do_RUN_CCMSETUP = false    &lt;br /&gt;do_CHK_CACHESIZE = false&lt;/p&gt;  &lt;p&gt;So first off you can see the script is checking for the CCMEXEC service to be started :)&amp;#160; Well that’s a problem if we are stopping it for ZTIPackages to run. Depending on the alignment of the planets (or just simple timing), the startup script will see that CCMEXEC is stopped and restart it, which then allows SMS to start running programs again, which will give you the wonderful application conflicts, again.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The next main point of interest is “RUN_CCMSETUP”.&amp;#160; If some of the checks fail, the script will automatically initiate a reinstall of the SMS Client.&amp;#160; Which is a MSI based install :) So you can also end up with some 1618 failures, because the SMS Client will be reinstalling while ZTIPackages starts running it’s first few applications.&amp;#160; &lt;/p&gt;  &lt;p&gt;Now if you are using the disable software distribution agent method, software distribution will still be disabled, so the only issue that will likely run into is that the first few applications from ZTIPackages might fail with a 1618 error code because of the SMS Client being reinstalled.&amp;#160; In my case, only my first application was failing, everything else would go through successfully after the fact.&amp;#160; Quite frustrating.&amp;#160; If you are stopping/starting the service, you will most likely have more failures since you will have ZTIPackages and SMS butting heads throughout the ZTIPackages process, it’s first come first serve.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Hope that information helps, let me know if you have any questions.&lt;/p&gt;  &lt;p&gt;-Chris&lt;/p&gt;</description></item><item><title>Dynamic Applications – 1618 error codes</title><link>http://myitforum.com/cs2/blogs/cnackers/archive/2009/01/30/dynamic-applications-1618-error-codes.aspx</link><pubDate>Fri, 30 Jan 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">8e8f7986-475c-475d-bdc9-a1b3a63b955b:129079</guid><dc:creator>cnackers</dc:creator><description>&lt;p&gt;So as i’ve mentioned in previous blogs, i’ve been working with dynamic applications quite a bit lately.&amp;#160; The one issue i kept running into lately was 1618 error codes for the execution history.&amp;#160; Eventually i was able to resolve everything, but there were a few reasons for those types of errors to show up, so i wanted to create a blog to help others troubleshoot the issue.&amp;#160; Obviously the 1618 error messages are related to MSI based installs. So you won’t receive such an error with a setup.exe or another type of install.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I found 2 main causes of the 1618 error codes, and you could have one or both of the issues in your environment depending on configurations.&lt;/p&gt;  &lt;p&gt;1) Conflicting installs with SMS 2003&lt;/p&gt;  &lt;p&gt;2) SMS Client Health Script&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;1 - Conflicting install with SMS 2003&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I specifically mention SMS 2003 here because from what i understand and have been told, SCCM does not have this issue anymore. Essentially what happens is that when ZTIPackages is installing it’s applications, SMS can also attempt to install it’s applications, so you end up with 2 MSI installs trying to run at the same time and one of them will work, the other(s) will fail with the 1618 error code which is “another installation in progress.”&amp;#160;&amp;#160; I didn’t run into this problem very often, if at all, on a new computer build, since there wouldn’t be a client history and standing advertisements.&amp;#160; However, the problem was very easy to reproduce when doing a ZTI through SMS.&amp;#160; Since the advertisements were standing and ready to go, when the machine was doing imaging and back online, there was enough time while ZTIPackages was running for the client to receive it’s policies and attempt to start installing the requested applications. &lt;/p&gt;  &lt;p&gt;So, now that we identified the issue, how do we resolve it?&amp;#160; Well simply we need to “take care” of the SMS Client, and stop it from doing anything while ZTIPackages is running.&amp;#160; The 2 best ways to do this are to either stop the SMS Client Service, or to disable the Software Distribution Component.&amp;#160; Disabling the Software Distribution component is a more reliable method, but also has a great risk since you are disabling the component, if your “re-enable” script doesn’t work, you are stuck with a machine or machines that won’t install software until the issue is resolved.&amp;#160; Stopping the SMS server (CCMEXEC) works as well, but is less reliable, because if the service starts up again for some reason, you are back to square 1 and installs will start conflicting.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Stopping the CCMEXEC service:&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;You can use a few methods of stopping the service.&amp;#160; You can use simple command lines like “net stop” and “sc stop”, along with “net start” and “sc start”.&amp;#160; Or you could use a more advanced method calling a script.&amp;#160; Here is a script from the Deployment Guys that allows you to stop and start a service.&amp;#160;&amp;#160;&amp;#160; Here is the usage of the script:&lt;/p&gt;  &lt;p&gt;Usage:&amp;#160;&amp;#160;&amp;#160;&amp;#160; cscript zCFG-Services.wsf [/service:ServiceName] [/state:Start or Stop] [/debug:true] &lt;/p&gt;  &lt;p&gt; NOTE: /service:ServiceName is case sensitive. /state: can be Start or Stop only &lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterEditableSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:38306056-1a9a-4e1d-b5ab-ccde40989c2f" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;p&gt;zCFG-services.zip &lt;a href="http://myitforum.com/cs2/blogs/cnackers/zCFGservices_4B19E6D9.zip" target="_blank"&gt;zCFG-services.zip&lt;/a&gt;&lt;/p&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;Any of the above methods will work, just each have their advantages and disadvantages.&amp;#160; Just remember to restart the service back up after the fact.&amp;#160; I typically put the stop service command at the beginning of the State Restore phase.&amp;#160; I restart the service after User State in the State Restore phase, this makes sure that no program from SMS are running while you are restoring the user state data.&amp;#160;&amp;#160;&amp;#160; The only important thing is that you are stopping and starting the service before/after ZTIpackages, “Install Packages”.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Disabling the Software Distribution agent:&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;I’ve blogged on this before, so i won’t repost that info again.&amp;#160; The information you need is located here: &lt;a title="http://myitforum.com/cs2/blogs/cnackers/archive/2009/01/25/pausing-or-stopping-sms-software-distribution.aspx" href="http://myitforum.com/cs2/blogs/cnackers/archive/2009/01/25/pausing-or-stopping-sms-software-distribution.aspx"&gt;http://myitforum.com/cs2/blogs/cnackers/archive/2009/01/25/pausing-or-stopping-sms-software-distribution.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you are using this method, I disable the agent before ZTIPackages runs, and i re-enable it after USMT restores user data.&lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterEditableSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:c24812db-159d-4302-bc3c-9cc332107f9f" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;p&gt;ZTI-SMSSD-Scripts.zip &lt;a href="http://myitforum.com/cs2/blogs/cnackers/ZTISMSSDScripts_2D3B62D8.zip" target="_blank"&gt;ZTI-SMSSD-Scripts.zip&lt;/a&gt;&lt;/p&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;2 - SMS Client Health Script&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The client health script is a wonderful script created by some of the guys on MyITForum that work with &lt;a href="http://www.dudeworks.com/"&gt;Dudeworks&lt;/a&gt;.&amp;#160; This is a great free solution to dealing with common client issues and just keeping a good watch over your clients. Typically you would configure this script to run through Group Policy as a start up script.&amp;#160; &lt;/p&gt;  &lt;p&gt;I did run into a few issues with the script and conflicting with the Dynamic Applications process.&amp;#160;&amp;#160; Here are the checks that can be enabled/disabled for the script to verify.&lt;/p&gt;  &lt;p&gt;do_CHK_CCMEXEC = true&lt;/p&gt;  &lt;p&gt;do_CHK_SYSTEMPATH = true   &lt;br /&gt;do_CHK_AUTOUPDATE = true&amp;#160; &lt;br /&gt; do_CHK_SMSLOCALADMIN = false     &lt;br /&gt;do_CHK_ADMSHARE = true    &lt;br /&gt;do_CHK_RemoteReg = true    &lt;br /&gt;do_CHK_WMI_SERVICE = true    &lt;br /&gt;do_CHK_BITS_SERVICE = true    &lt;br /&gt;do_CHK_REGXML = true    &lt;br /&gt;do_CHK_AdvClient = true    &lt;br /&gt;do_SEND_CCR = true    &lt;br /&gt;do_RUN_CCMSETUP = false    &lt;br /&gt;do_CHK_CACHESIZE = false&lt;/p&gt;  &lt;p&gt;So first off you can see the script is checking for the CCMEXEC service to be started :)&amp;#160; Well that’s a problem if we are stopping it for ZTIPackages to run. Depending on the alignment of the planets (or just simple timing), the startup script will see that CCMEXEC is stopped and restart it, which then allows SMS to start running programs again, which will give you the wonderful application conflicts, again.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The next main point of interest is “RUN_CCMSETUP”.&amp;#160; If some of the checks fail, the script will automatically initiate a reinstall of the SMS Client.&amp;#160; Which is a MSI based install :) So you can also end up with some 1618 failures, because the SMS Client will be reinstalling while ZTIPackages starts running it’s first few applications.&amp;#160; &lt;/p&gt;  &lt;p&gt;Now if you are using the disable software distribution agent method, software distribution will still be disabled, so the only issue that will likely run into is that the first few applications from ZTIPackages might fail with a 1618 error code because of the SMS Client being reinstalled.&amp;#160; In my case, only my first application was failing, everything else would go through successfully after the fact.&amp;#160; Quite frustrating.&amp;#160; If you are stopping/starting the service, you will most likely have more failures since you will have ZTIPackages and SMS butting heads throughout the ZTIPackages process, it’s first come first serve.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Hope that information helps, let me know if you have any questions.&lt;/p&gt;  &lt;p&gt;-Chris&lt;/p&gt;</description></item></channel></rss>