CRM provides a way for updating clients using its own update manager however this requires your users to have admin rights on there computers. This situation is far from ideal so I have found a way to publish CRM 4.0 hotfixes using SCCM and SCUP. This guide will take you through the steps to get CRM hotfixes available for deployment via SCCM. It assumes that you already have SCUP installed and configured to look at the same WSUS server that SCCM is using. It also does not cover the process of deploying the hotfixes from SCCM when they appear in the list.

Patch information

In order to install the patch you will need to get some basic information about the patch (its GUID) so that SCCM can figure out if the patch has already been installed on the computer already.

  • Download and extract the patch for Microsoft (for this example I will be using KB 951919)
  • You should now have a file called “CRMv4.0-KB951919-i386-Client-INTL” or similar
  • Extract the contents of the patch using something like Winrar (or run the file and find its temp directory)
  • Look for a “config.xml” file and open it with either notepad or IE
  • Take a note of the “PatchID” in this example: 1C6A4EDD-6602-450C-99BE-FD47C7DA9083
  • To get the correct silent install switches from the patch run it with a command of /? (patch.exe /?) and make a note of the switches you want to use.

Product information

We also need to gather the MSI Product code for the version of CRM that is installed on the clients. There are several ways to do this but the easiest is as follows

  • On the client computer with CRM installed open the registry
  • Go to “HKEY_Local_Machine\Software\Microsoft\Windows\CurrentVersion\Uninstall
  • Search the keys for the product (“CRM” works for me) the key that it finds will be the MSI product code: 539D63C6-4EF4-4B9E-9926-85053F119171

clip_image002

Creating the update

Now we need to get the files ready on the server and then start the “Update wizard” so copy the patch to a shared location (In my case \\server\custom_updates\crm\kb951919) and start up SCUP.

  • Click “create update” in the action pane
  • Fill in the information on the first screen and make sure to classify the hotfix as an “update” SCCM does not like displaying hotfixes for some reason.

clip_image004

  • And the second

clip_image006

  • On the “prerequisite rules” I leave blank but you could specify that at a minimum OS of XP and that the computer is a workstation etc… These rules just help SCCM figure out in a broad sweep which machines to not even bother checking the update against.
  • On the “select package” screen pick “command line installation (.exe)” as the installer type.
  • Browse to find the source package on the local server
  • Enter the share address from the start of this section in the “Download URL”
  • Fill in the “Success return codes” (0,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1633,1634,1641 – are the standard MSI codes)
  • Repeat for the “Success Pending reboot codes” (3010)
  • Enter the silent install switches (/q /norestart) as found in the first section

clip_image008

  • Click Next and then create a new “Applicability Rule” for the update
    • Click on the yellow plus symbol and pick “Create MSI Rule”
    • From the drop down box pick “Product installed”
    • Enter the Product code for Dynamics 4.0 that you wrote down earlier. Don’t bother with the versions or language unless you feel you have to. If you want to save the rule for later use tick the box at the bottom of the screen

clip_image010

  • Move on to the next screen for “installed rules” and create a new rule as above but this time pick “Patch Installed For Product”. Enter the Patch Code that you wrote down earlier in the correct field and then fill in the Product Code as in the previous step.

clip_image012

  • Read the summary and click “next”
  • The update should now appear in your update list. Click the Publish flag and then pick “Publish Updates” from the action menu.

The updates should now appear in SCCM when it next synchronizes and be available for deployment to client computers.