Deploying applications as software updates

Have you ever needed to decide how to deploy an application that requires a reboot? Has a manager ever asked if you can deploy it as a software update, using the same notification and scheduling options? I've faced both, and I'm sure most SMS admins have as well.

SMS doesn't lend itself to deploying applications that require a reboot. There are no notification and scheduling options available, as there are for updates, and the update process is designed just for security updates from Microsoft. You need to either set up the program to only run when no user is logged on or wrap the installation in a custom script that provides the needed capabilities.

This can be much easier under Configuration Manager, if you also install System Center Updates Publisher (SCUP). Updates Publisher extends the software updates process to support update catalogs from other vendors and also custom updates created by the SMS Administrator. You could create a custom update to deploy your application installation that requires a reboot. SCUP updates are completely integrated into Configuration Manager, and are deployed exactly like other updates using the same capabilities. The MyITForum Wiki article about SCUP provides some additional information.

The basic idea is to create a custom update rule that will install the application, and deploy it to a collection of target computers. It's not quite that simple, but close. There are a few key things you need to do.

First, prepare the installation as an exe or msi if it's not already in that form. SCUP only supports exe, msi and msp files. If you use an exe, document the return codes that indicate successful completion and those that indicate a reboot is required. Test to be certain your command line results in a successful silent install as a new install or an upgrade.

Second, you need to plan the rules you will use. An SCUP definition uses three rules (all are required):

  • Prerequisites: these are things that must be present (or absent) before the software can be installed. You can test for the operating system, files and versions, registry info and WMI query results.
  • Applicability: files, registry info or WMI queries that make the update applicable. For an application, you might use something generic that all computers would satisfy.
  • Installed: files, registry info or WMI query responses that indicate the application is installed. If the installation uses an msi, the new rules wizard will automatically extract the installation code and create a rule for that. If you create your own rule, be sure it will accurately reflect failed installations and if the application is uninstalled. This rule prevents the application from being reinstalled every time updates are reevaluated.

Keep in mind that after the custom update is published, it will be part of the WSUS database for all machines. All computers will scan for this being applicable, and that status will be included in software update reports. This will only be installed on computers included in collections the update is deployed to, no matter how many others report it as applicable.

Once the update is published, it is deployed exactly like any other update. You would create a deployment selecting the one update, choosing the desired notification and scheduling options and targeting the desired collection. This will require careful thought and testing to be certain everything works as expected. For example, if regular update deployments specify the option to install any other updates due within a certain time period, this might include your custom update and cause it to be installed before you expected.

Since this is deployed as an update, normal software deployment reports don't apply. Before using this capability, be sure you understand which software update reports you will use to monitor and manage this process.

The same concept might be used with SMS 2003 and ITCU (the predecessor to SCUP), but ITCU was rarely used. This is partly because ITCU was not integrated into the SMS deployment process as well as SCUP is with Configuration Manager.

 

Published Wednesday, December 26, 2007 10:23 AM by spruitt

Comments

No Comments
Powered by Community Server (Commercial Edition), by Telligent Systems