Month: July 2013

Automating SQL 2008 R2 Express for ConfigMgr

Posted on Updated on

There are many guides online on automating the installation of SQL 2008 R2 Express.  Although each was missing a small detail, a concatenation of them led me to create a successful deployment.  Use the following process if you also are stuck trying to find the answer!

  1. Run “SQLEXPR_x64_ENU.exe /UIMODE=Normal”
  2. Go through the wizard, giving the settings desired for SQL Express, including the admins
  3. On the “Ready to Install” page of the wizard, obtain a copy of ConfigurationFile.ini and then cancel the setup wizard
  4. Edit the .ini file with the following:
    • Change parameter QUIET to “True”
      (Note: if you attempt to instead use QUIETSIMPLE to display a progress bar as part of the install, the deployment will not execute in ConfigMgr)
    • Comment out or delete the PCSOURCE parameter
    • Comment out or delete the UIMODE parameter
    • At the end of the file, add IACCEPTSQLSERVERLICENSETERMS=True
      (Note: do not use quotes around True as it’s a Boolean parameter)
  5. Create a script which
    • Copies the .ini file to c:\windows\temp
    • Executes command “SQLEXPR_x64_ENU.exe /ConfigurationFile= c:\windows\temp\ConfigurationFile.ini /INDICATEPROGRESS”

Automatically Add Required Patches to Pkg

Posted on Updated on

On a recent ConfigMgr 2012 engagement, I was migrating a customer from using standalone WSUS to CM12 Software Updates.  They requested to have the ability at ‘bypassing’ the steps required for downloading and distributing patches to the Distribution Points (but still desired to approve the patches before deployment).  To be clear, this ONLY for adding patches into a package automatically.  Other than for AV updates, it is never recommended to automatically approve and distribution patches.

Using CM12’s Automatic Deploy Rules (ADR), I was able to set up a process which would auto detect and distribute required patches to DPs within their organization so that they could rapidly deploy updates.  To do this:

  1. Create an “empty” collection that will NEVER contain any members
  2. If you do not have one already, create an “All Distribution Points” group with all DPs
  3. Create a new ADR in the console
  4. General page: add an appropriate name, target the EMPTY collection, and add the patches to an existing Software Updates Group, and deselect “Enable this rule…”
  5. Deployment Settings page: use defaults
  6. Software Updates page: add filters for
    • Product (Win7, Win8, WinXP, etc.)
    • Required (>0)
    • Superseded (No)
    • Title (-“service pack”) => using the minus before the name will exclude anything with that string in the title)
  7. Evaluation schedule page: Run the rule after any Software Updates sync (if only doing once per day) or set to run only overnight
  8. Deployment schedule page: for safety, set both the availability and deadline for 12 months in advance
  9. User Experience page: use defaults
  10. Download Settings page: select both options to “Do not install”
  11. Deployment Package page: create a new package or use an existing package
  12. Distribution Points page: add your “All Distribution Points” group
  13. Complete the remainder of the wizard with your desired patch download and language preferences
  14. After completion of the ADR, run it to ensure that patches are downloaded
  15. Open the deployment which was created to ensure it is disabled

Then you’re good to have them ready for approval in the future!

Workaround for OSD Stand-alone Media with Client Hotfix Installs

Posted on Updated on

When using stand-alone media to image a computer, you may potentially run into a failure with the Task Sequence with SMSTS.log message “Client installation failed, code 1 – The client GUID must be set in an environment variable”.  Checking further into the client.msi.log file, you could see the source problem similar to “Unable to create a temp copy of patch ‘C:\_SMSTASKSEQUENCE\PACKAGES\SMS00002\HOTFIXES\KB2854009\X64\CONFIGMGR2012AC-SP1-KB2854009-X64.MSP’.”

This issue can be caused if you’re installing ConfigMgr 2012 hotfixes (or cumulative updates) as part of the client installation during OSD, which stand-alone media may not be handling properly.


One workaround for this scenario is to create additional tasks which will only install the hotfixes when not running from media as follows:

  1. On step “Setup Windows and Configuration Manager”, add a condition on the Options where TS Variable “_SMSTSMediaType not equals FullMedia”
  2. Copy that step and rename as “Setup Windows and ConfigMgr – Standalone Media”, remove the Installation Properties for the hotfix install, then change TS Variable check as “_SMSTSMediaType equals FullMedia”