# Knowledgebase

Back to Articles List

# How do I modify an MSI installer using a transform file?

### Symptoms

I want to customise an MSI install without using a command line set of options.

### Cause

Command line switches may not be an option for your installation scenario.  Publishing or Assigning software through an Active Directory Group Policy for example does not allow the use of command line options.

### Resolution

A transform file can be used to define the changes you wish to make to an MSI installer.  A transform file is the preferred method for Publishing or Assigning software through an Active Directory Group Policy and Microsoft provide a tool, Orca.exe, to do this.

MSDN page on Orca.exe.: http://msdn.microsoft.com/en-us/library/aa370557(v=vs.85).aspx
Where to find Orca through Microsoft: https://blogs.msdn.microsoft.com/jsacks/2007/02/15/where-to-find-orca-the-msi-editor-tool-in-the-windows-sdk/
Link to Orca MSI installer: https://www.tracker-software.com/OrcaMSI.zip

Using the first link above you can find how to get Orca from the Windows Installer SDK.

## Create a Transform

In this example I will use the Editor MSI.  Launch Orca.exe and load the MSI file you wish to modify.:
File --> Open --> PDFXC5_x64.msi

You are creating a new transform so:
Transform --> New Transform

The available features in the MSI are found in the Feature Table, selecct it from the list of Tables on the left:

Features are nested with a Parent/Child relationship and as with command line switches for a child feature to be installed the Parent feature must be installed.  We are interested here in the feature to be installed and the the Level.  Level dictates if the specified feature is to be installed, a value of 1 means to install, a value of 0 means do not install. Notice that these are exactly the same as the command line arguements used with the installers.  See here for details on using command line arguements: KB#461   Because all features are installed by default, to not install a feature is as simple as changing the Level value to 0.

The other table where you can make changes is the Property Table. Here you can change the default values for preferences or include a license key (string or path to xcvault file).  A numeric value of 1 equates to "True" and 0 "False".  In the example below I have set a path to an xcvault KeyFile, set VIEW_IN_BROWSERS to false leaving SET_AS_DEFAULT true and changed the EDITOR_LANGUAGE to German.    See the MSI installer help pages for the MSI you are using at http://help.tracker-software.com for details on the values used for EDITOR_LANGUAGE.

Values that are changed are highlighted in Green.  Once you are happy with the changes you need to generate a transform file that can then be used in conjunction with the MSI file to apply the differences.  Transform --> Generate Transform  You will be prompted to save it as an mst file:

## Using the transform during deployment.

Now that you have a Transform File, applying it during installation is as simple as :

msiexec /i "\path\toPDFXC5Pro_x64.msi" TRANSFORMS="\path\to\transform.mst"

Further reading on applying Transforms can be found here: http://technet.microsoft.com/en-ca/library/cc759262(v=ws.10).aspx#BKMK_InstallTransform

alternatively the transform can be applied to a Group Policy deployment: KB#373

Related: KB#494