What are .MSP files, how to create and extract them?

Written by Radu Popescu · June 9th, 2022

#MSI #MSP

Depending on whether we're installing or updating an application, we need to use different types of files. For instance, we use MSI files when installing Windows applications, but if we want to make a small update, we can use an MSP file.

In this article, we will focus on MSP files, seeing why they're useful, how they work, and how to create them. Here are the questions we'll be addressing:

  1. What is an MSP file?
  2. What is the difference between MSI and MSP files?
  3. How to extract files from an MSP?
  4. How to open an MSP file?
  5. How to create an MSP installer file?
  6. Is it safe to delete an MSP file?

What is an MSP file?

The MSP extension stands for Microsoft Software Patch and it uses Microsoft's Windows Installer service, just like MSI. For this reason, it benefits from its standardization and best practices when it comes to component structure.

A Windows patch package is an .MSP file that contains only the changes between the previous and the updated version of an application. It is used to install updated information such as files, registry, and configurations of an application that's already installed on a Windows operating system.

Command line for MSP file installation

All MSP packages support the same installation command lines powered by msiexec. To get the full list of all supported MSP command lines, open a cmd, and type msiexec /?.

A common example of a command-line patch installation is:

Msiexec /p mypatch.msp /qn! /l*v “mypatchinstall.log”

/qn is used to hide any user interface

/l*v is used to generate verbose logging

Command-line Patch Installation

NoteFind more information on support parameters in our msiexec command line article.

MSI vs MSP files

When comparing MSI and MSP files, we will encounter some differences.

MSIs are more complete and contain the entire application installation. No matter the version, MSI files can be installed as standalones.

Because of this nature, MSI can be:

  • installed side-by-side with an older version of an application, having two versions of the same application installed.
  • instructed to remove the previous version and install the latest one.

On the other hand, MSP contains only the part that differs between the two versions of the application. Because of this, it can not be installed as a standalone. If you try to do so, you will encounter an error.

MSP Standalone Installation Error

Updating applications using a Windows Installer MSP patch rather than a complete installation package MSI installation has some of the following advantages:

  • It allows the user to download an upgrade patch that is much smaller in size than the full installation package of the product.
  • Also, an update using a patch can preserve any customizations the user has made to the settings or the application interface.

Extracting files from MSPs

When it comes to extracting files from MSPs, it works a bit differently than it would for MSIs. With an MSI file, all you need to do is use the 7zip file extractor, but MSP files depend on the base MSI installation packages.

Since MSP benefits from msiexec commands, we can use the administrative install parameter to say where to extract the content. However, we need to take into consideration the base MSI dependency. So, we need to perform two separate actions.

1. Open a cmd. Before we perform an administrative install on the MSP, we must do it on the MSI. This runs only basic actions like InstallFiles in the AdminExecuteSequence table.

msiexec /a mainpackage.msi TARGETDIR=”c:\temp\extracted” /qn

2. The second command targets the patch you want to extract the files from. Patches will typically transform the AdminExecuteSequence table to add the PatchFiles action.

To do that, execute the following command line:

msiexec /p patch.msp /a “c:\temp\extracted\mainpackage.msi” /qn

After you execute the last command, you can navigate to the C:\temp\extracted folder and get the patch files from there.

How do you open an MSP file?

To open an MSP file, you can use the ORCA tool. Orca is a free tool that opens the content in a table view mode.

First, you have to open the base MSI file by right-clicking on it and then editing it with Orca. Then, from the transform tab, choose View Patch.

Open MSP Files

Keep in mind that you can only view this table.

How to create MSP files?

Since an MSP is the difference between two versions of an application, we need to follow these steps to generate a patch for your application:

  • Create the MSI for v1.0 of your app.
  • Create the MSI for v1.1 following the patch rules.
  • Create a patch project where Advanced Installer performs a modification between the two MSI packages.

NoteTo learn more about the Windows Installer Patches workflow, see our Understanding Windows Installer Patches guide.

For this scenario, we're assuming the two MSI’s are already created and we will focus on creating the patch file.

NoteIf you need to create an MSI for your application, follow this step-by-step tutorial: Creating an MSI Package.

1. Start by creating an installer Patch project.

Create Installer Patch Project

2. Fill in all the necessary information related to your patch identification in the Patch Details page and then in the Product Details.

Patch identification information

3. Do the same for the Add/Remove(Control Panel) page. This sets up the display name in the Control Panel. There, you can also set the option to Allow patch removal.

Patch information for Control Panel

4. If you want to digitally sign the patch, you can do that from the Digital Signature page.

If not, proceed directly to the Images page.

Images Page

NoteTry Advanced Installer’s functionality for creating patch files through our 30-day full featured trial.

5. Right-click on the Target Computer. Here you need to first point out the Upgraded MSI and then the Targeted one. Once you have done that, the project should look something like this:

Target Computer

6. After that, click on the build icon and the patch will be generated.

Is it safe to delete an MSP file?

When trying to free up some disk space, you might find that there are existing Windows Installer Patch files that occupy a lot of space on your drive. You should be aware that it is not recommended to remove MSP files manually, or you might affect the Windows Installer Cache storage area from the Windows Installer folder and you might feel the consequences when trying to update or uninstall a software afterward.

Instead, you can use a dedicated tool like Patch Cleaner to remove an unused Windows Installer Patch file, or an old Microsoft tool like MsiZapU.exe, among others. A good article that explains the process thoroughly and gives you multiple removal solutions can be found here.

Recap

As a recap of this article, we introduced MSP files, pointed out the differences between MSI and MSP files, and defined their limitations and advantages. MSPs are used for smaller updates, and now we know how to create, extract, and open them.

Have you ever tried generating a patch package with Advanced Installer? Let us know in the comments section.

Subscribe to Our Newsletter

Sign up for free and be the first to receive the latest news, videos, exclusive How-Tos, and guides from Advanced Installer.

Comments: