Installation of ConfigMgr Client hotfixes during client installation

There are several post-SP2 hotfixes for the Configuration Manager client that are of high importance to IT Administrators. Patches that are common to be applied in a SP2 environment are KB977384 for client support for R3, KB978754 for importing drivers and KB979199 for Software Inventory issues. The task to install all of these patches can be challenging to implement all at once and can take a while for new or upgraded clients to show up into software distribution collections to roll out the hotfix. Discussed here are some ways to slip in these hotfixes during the installation of the ConfigMgr client. The three major ways to install the client are via an ODS Task Sequence, Software Distribution and Client Push. All three of these methods can use the MSI PATCH property but utilize different installation paths for the different installation types. It should be noted that Software Update Point Client Installation or Group Policy Installation are not included because custom installation properties cannot directly be passed to the installer. An alternative would be to use Group Policy with the ConfigMgr2007Installation.adm file located in TOOLS\ConfigMgrADMTemplates folder on the installation media.

 

Installation of patches in an OSD Task Sequence client installation

One installation type that is highly overlooked is the Setup Windows and ConfigMgr Task Sequence item during an OSD deployment. This Task Sequence step will first install launch windows setup and then install the Configuration Manager client after installation of Windows. The installation properties of the client are available to edit on this step as shown in Figure 1. The installation properties can be extended using the PATCH command as described in KB977203 to install hotfixes during client installation. This method uses the fact that the package source will be copied to the package ID folder under the C:\_SMSTaskSequence\OSD folder.

This can be used to chain multiple .msp files in single execution of ccmsetup.exe by using a semi-colon to separate the patches as described in the Windows Installer documentation (https://msdn.microsoft.com/en-us/library/windows/desktop/aa367988(v=vs.85).aspx). It should be noted that the PATCH property is not a ccmsetup.exe flag but a MSI Property that is passed to the Client.msi during installation.

 

Figure 1

Example of using the Installation Properties of Setup Windows and ConfigMgr:

PATCH=C:\_SMSTaskSequence\OSD\<Package_ID>\i386\hotfix\KB977384\SCCM2007AC-SP2-KB977384-x86-enu.msp;C:\_SMSTaskSequence\OSD\<Package_ID>\i386\hotfix\KB978754\SCCM2007AC-SP2-KB978754-x86.msp;C:\_SMSTaskSequence\OSD\<Package_ID>\i386\hotfix\KB979199\SCCM2007AC-SP2-KB979199-x86.msp

Installation of patches in a Software Distribution client installation

A popular way to upgrade the ConfigMgr client from SP1 to SP2 is to run the ccmsetup.exe from the Client Update package created during the site installation. One can also install the patches in the Client Update package by also using the PATCH installation property. This package must have the distribution point updated for the package to contain the client .msp hotfixes. This then allows to call the other .msp files by using the %~dp0 variable to set the path of the root of the client installation source allowing the full path to the .msp via the i386\hotfix\ directories. These variables can be used in a command or batch file that calls ccmsetup.exe with the PATCH command and %~dp0 patch variables. After the batch file is created another program for the package should be created calling the ccmsetup-hotfix.cmd batch file instead of the ccmsetup.exe directly (see Figure 2).

Figure 2

Below is an example of the ccmsetup-hotfix.cmd batch file for calling the hotfixes:

@Echo Off

Ccmsetup.exe PATCH=%~dp0i386\hotfix\KB977384\SCCM2007AC-SP2-KB977384-x86-enu.msp;%~dp0i386\hotfix\KB978754\SCCM2007AC-SP2-KB978754-x86.msp;%~dp0i386\hotfix\KB979199\SCCM2007AC-SP2-KB979199-x86.msp

It should also be noted that this command file can be ran directly from the client share for hand installations from technicians. This allows for all hotfixes to be installed if troubleshooting a broken client or other scenarios that require executing the ccmsetup.exe for client installation.

 

Installation of patches in a Client Push client installation

One of the most used methods for installation of the ConfigMgr is client push. As documented in KB907423 the destination of the PATCH property can be used with UNC paths to the .msp patch files. This can be with the site server because the \\Siteserver\SMS_CNT share that is created on the site server. After the hotfixes are installed on the site server, the .msp hotfixes can be referenced from the Client directory on the SMB share. The Client Push Installation Properties can be found in the Client Installation Methods node in the Site Settings. For the Client Push Installation Properties reference Figure 3.

 

Figure 3

Below is an example of the client installation properties when using a UNC path for patch installation:

 PATCH=\\SCCM-SITESERVER\SMS_CNT\Client\i386\hotfix\KB977384\SCCM2007AC-SP2-KB977384-x86-enu.msp; \\SCCM-SITESERVER\SMS_CNT\Client\i386\hotfix \KB978754\SCCM2007AC-SP2-KB978754-x86.msp; \\SCCM-SITESERVER\SMS_CNT\Client\i386\hotfix\KB979199\SCCM2007AC-SP2-KB979199-x86.msp

 

It should also be noted that whenever a Client Push is performed the client install will pull all patches via SMB from the site server. This includes any clients that may be in secondary sites or network boundaries with slow links. When pushing large amounts of clients it is recommended to take into consideration the available bandwidth of WAN links to ensure that the network link does not get saturated. If pushing out large amounts of clients, the possibility of using DFS and external file servers can help localize the software patches to reduce stress on network infrastructure.