Archive

Posts Tagged ‘Application Deployment’

Upgrading MSI’s with MSP’s

Some software vendors release updates in the form of MSP files. These patches cannot be deployed via Active Directory, but they can be applied to the original MSI and then re-deployed as a new package. For this example we’ll update Acrobat Reader 9.1.0 to 9.1.3. This process can be used on any application that uses msp patch files (like the newer Acrobat Reader 9.3.1), but 9.1 makes a good example becuase there is a series of two patches required to get to 9.1.3.

Fetch the Installer

First, obtain the full MSI installation file for the version the application that the MSP is meant to patch. Adobe makes it pretty straight forward for Acrobat Reader, just browse their FTP starting at ftp://ftp.adobe.com/pub/adobe/reader/win/ to navigate to the latest version. For this example, we want to pull the AdbeRdr910_en_US.msi from /9.x/9.1/enu/

Fetch the Patch(es)

Now grab the MSP patch files and save them to the same location that you put the MSI. In this case, 9.1.0 cannot go straight to 9.1.3, because you have to patch to 9.1.2 as first, so grab both MSP files.
ftp://ftp.adobe.com/pub/adobe/reader/win/9.x/9.1.2/misc/AdbeRdrUpd912_all_incr.msp
ftp://ftp.adobe.com/pub/adobe/reader/win/9.x/9.1.3/misc/AdbeRdrUpd913_all_incr.msp

Apply the Patch(es)

Open a command prompt and apply the patches to the MSI by using MSIExec. You just need to use the /a switch to specify the application MSI file and the /p switch for the patch. If you have more than one patch, be sure to apply them in the correct order. Also keep in mind that this will alter the MSI file, so you may want to make a copy of it as a backup if you need to keep the original version around.

msiexec /a AdbeRdr910_en_US.msi /p AdbeRdrUpd912_all_incr.msp
msiexec /a AdbeRdr910_en_US.msi /p AdbeRdrUpd913_all_incr.msp

Rename the Updated MSI

The MSI file now contains the version of the application that you have applied, but the filename has not been changed to reflect that. It’s a good idea to rename the msi now so things don’t get confusing about what’s what.

move AdbeRdr910_en_US.msi AdbeRdr913_en_US.msi

Create a Transform (optional)

The last step would be to generate a Transform file (an .MST file) which is essentially a list of answers to the questions that might be asked during the install. Often times you can also make more advanced changes to the installation such are registry edits and file exclusions using a transform. For Acrobat Reader, Adobe has a nice (and free) tool called the “Adobe Customization Wizard” that does a great job of helping you generate it’s MST file.

Install it

Now you can install the application! Just double click it, or if you have an MST you can install from command line or a script. This is how you can do a silent install.

msiexec /i AdbeRdr913_en_US.msi TRANSFORMS=AdbeRdr913_en_US.mst /qb!

Or you can get real fancy and install the new MSI package from Active Directory and deploy it via Group Policy.

Advertisements