Manage SCCM Client Patch

This blog entry will discuss how to install, uninstall an SCCM client patch and how to enable reporting to get accurate installation status when you manually create the package/program to deploy SCCM client patch.

How to install an SCCM client patch along with Client Push Installation

This method is documented as a KB for SMS 2003 https://support.microsoft.com/kb/907423/en-us, however it actually works for SCCM client as well.

1. Open the SMS Administrator Console on the SMS site server.

2. Navigate to Client installation Methods and double-click Client Push Installation.

3. In the Client Push Installation Properties dialog box, click the Client tab.

4. In the Installation properties box, enter the appropriate parameters:

SMSSITECODE=AUTO PATCH=\\SERVER\SMSCLIENT\i386\patches\update1.msp

Click OK.

With this setting all newly installed clients will install the patch specified with the PATCH parameter after CCM client get installed.

Note: Only one update (.msp file) can be installed at the time of SCCM Client installation. If you try to install more than one update, you may cause client installation failures.

 

How to uninstall an SCCM client patch

SCCM client patch will not show in the Add/Remove Programs applets. You need to use command line to uninstall the patch. Below step by step shows how to uninstall one SCCM client patch with SCCM software Distribution feature.

1. Find out the product code of your SCCM client.

You can use ORCA to view the client.msi and find the product code;

You can also find it in registry table: HKLM\Software\Microsoft\SMS\Mobile\ProductCode.

2. Find out the Patch GUID.

You can find it in registry table: HKLM\SOFTWARE\Microsoft\Updates\Configuration Manager Client\4.00.6221.1000\SCCM2007AC-SP1-KBxxxxxx-x86.msp\ (PatchID)

3. Create a Package and a program with the following settings:

In General Tab:

Command line: msiexec /package {ProductCode} /uninstall {PatchGuid} /q REINSTALL=ALL REINSTALLMODE=maus

After running: Program restarts computer

In Environment Tab:

Program can run: Whether or not a user is logged

· “Program restarts computer” setting doesn’t mean that the computer will reboot after the uninstallation. Uninstall a SCCM client patch will restart CCM service. If you don’t use this setting, CCM client will think the restart of CCM service is abnormal and report the advertisement as fail. This setting tells CCM client that CCM service restart is expected, so you can have a correct status report for this advertisement.

4. Advertise the program to clients

 

How to manually create package/program for SCCM client patch

If you install an SCCM patch which includes client side components, you can choose the option of having a package and program created for you. If for some reason, you need to manually create the package/ program to deploy the client side hotfix (msp file), follow the following step by step:

This information is quoted from ACReadme.txt. You can find ACReadme.txt in <SMS Installation Folder>\Logs\<updateid>.

1. Create a new package, fill in the following required information:

Data Source Tab – Source directory: \\<siteserver>\sms_<sitecode>\client\<platform>\hotfix\<updateid>

\\Server1\SCCM_123\client\I386\hotfix\KB891073

2. Additionally, to ensure accurate status is reported back for the application of the client hotfix, the MIF file name must be specified in the "MIF file name" field of the Reporting tab. For example, if the .msp file is named: "SCCM2007AC-KB891073-x86.msp" you would enter: "CMclient.SCCM2007AC-KB891073-x86.mif" (without the quotes).

Because the application of this hotfix on a client computer stops and restarts the SMS Agent Host service, it cannot monitor for an exit code from the update and must rely on finding a matching status MIF after the service is restarted. If a matching MIF is not found, the status will be reported to ConfigMgr as a failure (1603) even though the update may have completed successfully.

3. Under the new package, create a new program and fill in the following required information:

General Tab – Command Line: Msiexec /p <filename> /L*v <logfile> /q REINSTALL=ALL REINSTALLMODE=mous

<filename> is the file name of the .msp file provided with the hotfix package. Typically, the file name is in the form: SCCM2007AC-<articleID>-<platform>.msp

Example: msiexec.exe /P SCCM2007AC-KB891073-X86.msp /L*v %temp%\SCCM2007AC-KB891073-X86.log /q REINSTALL=ALL REINSTALLMODE=mous

4. Specify for the program to run minimized and set the "After running" option to Program restarts computer.

· “Program restarts computer” setting doesn’t mean that the computer will reboot after the uninstallation. Uninstall a SCCM client patch will restart CCM service. If you don’t use this setting, CCM client will think the restart of CCM service is abnormal and report the advertisement as fail. This setting tells CCM client that CCM service restart is expected, so you can have a correct status report for this advertisement.

Known Issue with SCCM patch installation:

You can specify properties to modify the behavior of client.msi in the CCMSetup.exe command line. However these settings will be missed when you:

· Run SCCM client repair;

· Install an SCCM path and didn’t specify these properties again in the path installation command line;

· Use the PATCH as parameters in the CCMSetup.exe command line.

 

Workaround: When you deploy SCCM path to SCCM client with Software Distribution, you should modify the program command line to include these settings. Customized settings may include things such as DNSSUFFIX, FSP, SMSMP, SMSSLP, etc. You can check https://technet.microsoft.com/en-us/library/bb680980.aspx for all the client.msi properties.

If you are using client push installation in your environment you should be able to find and re-use your Client.msi settings from the Client Push Installation Configuration dialogue.