Month: May 2010

SMS Installer versus VBScript/PowerShell

Posted on Updated on

I was putting this information together for an architecture document.  Thought I’d share it because this shows why I love SMS Installer!

Microsoft SMS Installer

  • Usage: Installation “wrapper” to automate tasks such as initiating installation with parameters, reading/writing registry values, writing log files, if/then/else evaluations, dialog boxes, etc.
  • Pros: Robust application with an easy to use GUI that is simple for others to learn.  Scripting knowledge and/or experience is not required.  The compiled executable cannot be changed except through the SMS Installer application.
  • Cons: Various limitations on processes that can run.

VBScript / PowerShell

  • Usage: Perform complex automation tasks
  • Pros: Gives the ability to automate complex changes that cannot be accomplished using SMS Installer.
  • Cons: Requires scripting knowledge and/or experience.  Is highly sensitive to changes in the script, which can have a negative impact if code is not properly written.

Binary Differential Replication for Boot Images

Posted on Updated on

I had a strange issue arise with my production SCCM boot images yesterday after including new drivers.  The package update status would go from Install Pending (version 25) and to Install Retrying (version 24) and back and forth.  In reviewing the distmgr.log file, the following subtle errors were occuring.

  • Unpacked folder for package version ENT00001.24 is being used by 9 user(s) currently
  • merging temp-delta-0000151c-00000501.rdc to \\SVR01\SMSSIG$\SMSSTAGE\\ENT00001\boot.ENT00001.wim
  • failed to read complete data from file
  • Invalid old remote file. Might be corrupted
  • Failed to copy chunks to temp file. Error code 0x8007054f
  • UpdateStagedFile failed; 0x8007054f
  • Cannot copy package ENT00001 from C:\Program Files (x86)\Microsoft Configuration Manager\osd\boot\i386\boot.ENT00001.wim to \\SVR01\SMSPKGE$\ENT00001\, Win32 Error = 0

Some SCCM forums seemed to indicate that this was an issue with BDR for image.  To resolve the situation, I did the following

  1. Removed all distribution points for the package
  2. Enabled boot image property “Disconnect users from distribution points”
    Note: I kept BDR enabled for the boot image; if my process didn’t work, then I was going to disable the setting
  3. Updated the distributions points to refresh the package version
  4. Added the boot images back onto the distribution points

So far everything looks good and is working….