Login to participate
Endpoint Management & Virtualization BlogsRSS

Incorporating Patches Into an MSI

Harsh's picture

A patch can be an upgrade (adding increased features), a bug fix, a new hardware driver or update to address new issues such as security or stability problems.

You can update a custom action using a patch. To add one or two files or to change the version of an application, patches are created. For small changes, patches are useful.

MSI and PATCH Together

Assume that ABC v1.0 application released and after one month security service pack for ABC v1.0 is released as patch.

You are new to this application and you had purchased it after one month, Hence ABC vendor supplied you with ABC v1.0.MSI and ABCserviceupdate.msp.

To deploy this application you must fire two commands.

  1. MSIEXEC /I "ABC v1.0.MSI"
  2. MSIEXEC /P " ABCserviceupdate.msp"

The following method will save turn-around time as you deploy or schedule the MSI and Patch.

If you wish to incorporate MSI into MSP and wish to type only one command at the time of deployment, then please follow following steps.

  1. create ADMINISTRATIVE image for main MSI using following command:
    MSIEXEC /A NameOfMsi.msi TARGETDIR="DRIVE:\FOLDERNAME" /QB
    
    
  2. Now apply the patch over this ADMIN Image:
    MSIEXEC /a "DRIVE:\FOLDERNAME\NameOfMsi.msi" /p "Name_of_patch.msp" TARGETDIR="DRIVE:\FOLDERNAME" /qb
    
    

This command will apply the patch over the MSI without any help from a third-party tool.

Now you have a patched MSI, This MSI can be directly deployed on fresh machine. It will save packaging time as well as scheduling time for deploying the MSI and its related patch.

The good example can be an application (in the format of an MSI) and its service pack (in the format of a patch).

piyushnasa's picture

Custom Action in MSP

Hi Harsh,

Nice description of the topic.
I wanted to ask you that if there is suppose a Custom Action in the MSP, then is it possible to incorporate that in the MSI. Well if there is a CA for which we do not have source like call .dll CA then how do we solve that.
Please let me know.

Thanks
Piyush

Piyush Nasa
Altiris Certified Professional (ACP)