MSI Transforms

General Information on Transforms

To customize an MSI-based software to suit your needs, you use transforms. Trans­forms enable you to customize MSI-based software before installation, for example by adding or changing files, shortcuts or registry keys.

Transforms are executed by the Windows Installer while the package is being installed. Just like the MSI database, they are stored locally (cached) and are used during uninstallation and in auto-repair. Dur­ing installation, several transforms can be executed for each MSI-based software. Transforms are stored in .MST files.
It is not possible to use transforms to change MSI-based software that has already been installed.

Creation of Transforms

The software vendor can provide a wizard that you can use to create a trans­form while the MSI Package is being generated – for example: The Custom Installation Wizard for Office. The MSI file itself is not changed during transform creation.

Ivanti DSM includes a wizard to create transforms independent from the software vendor.

Transform Types: Secure, Unsecure

We distinguish between two types of transform:

  • Secure transforms are cached in a directory to which the user has no write access.
  • Unsecure transforms. For the installation method for the user, the local copy of the transform is stored in the user profile’s application directory, making it accessible to users.
    Advantage: customizations performed by the transform can be “migrated” if the user works on another computer.
    For the installation method for the computer, transforms are stored in the directory %WinDir%\Installer to which the user has no write access.

Recommendation: Do not give the user write access to transforms - use secure transforms.

Execution of Transforms

Transforms are executed by the Windows Installer when the package is being installed. They are stored locally (cached) and are used during unin­stallation and in auto-repair. During installation, several transforms can be executed for each MSI-based software.

Transforms can only ever be used with their associated MSI file.

Variables for the Windows Installer: MSI Properties

Properties function as variables for the Windows Installer during installation. They can be used to transfer specific properties for installation, or unwanted properties can be “disabled”. Properties can be changed using transforms.

Public Properties

The values of public properties can by changed by the administrator – either using a transform or as a Windows Installer parameter (e.g. in the MSIInstall­Product command).

Example:
During an installation, even though unattended mode is enabled a window appears at the end of the installation process giving the logged on user the option to restart the computer. This can be bypassed if the value of the REBOOT prop­erty is set to ReallySuppress. You can either set this value in the trans­form, or by entering the following in the parameters line of the MSIInstallProduct command: REBOOT=ReallySuppress

The Windows Installer offers a range of pre-defined public properties, including:

  • ALLUSERS
  • COMPANYNAME
  • INSTALLLEVEL
  • PIDKEY
  • REBOOT
  • REBOOTPROMPT
  • ROOTDRIVE
  • USERNAME

Private properties

Private properties can be changed or added to in the same way as public properties.