Using Multiple Transform Files in PDQ Deploy

Purpose:

You wish to deploy a software package with multiple transform (MST) files.

Resolution:

Use the TRANSFORMS property in Install step parameters to enumerate transform files.

1. In instances where transform files are not embedded in the MSI, use the semicolon ";" as the delimiter (see notes below for UNC path information):

TRANSFORMS=transform1.mst;transform2.mst;transform3.mst
TRANSFORMS=\\server\share\path\transform1.mst;\\server\share\path\transform2.mst;\\server\share\path\transform3.mst


2.
In instances where transform files are embedded in the MSI (for example, Skype), use the semicolon ";" as a delimiter, but prefix a colon ":" to the embedded transform file names:

TRANSFORMS=:transform1.mst;:transform2.mst;:transform3.mst


3.
In instances where transform files are both embedded and not embedded in the MSI:

TRANSFORMS=:transform1.mst;:transform2.mst;transform3.mst

Both ":transform1.mst" and ":transform2.mst" are embedded, whereas "transform3.mst" is a standalone file.

For example, to remove the Skype desktop shortcut and keep Skype from starting up at logon, you would use the following transform string in Parameters (the transform files are embedded in the MSI):

TRANSFORMS=:RemoveDesktopShortcut.mst;:RemoveStartup.mst

IMPORTANT: While it is possible to use multiple TRANSFORMS parameters in a command line/script:

TRANSFORMS=:transform1.mst TRANSFORMS=:transform2.mst

Using multiple TRANSFORMS in PDQ Deploy packages is not recommended and is unlikely to work as expected, if at all.

Notes:

  • Transform files are applied in the order they are listed.
  • Transforms can be specified with either the file name or by paths, including UNC paths. If transform files are included in the same directory as the MSI, make sure to check the "include Entire Directory" in the Installation step > Details tab.
  • You cannot include UNC paths and root file locations (not embedded) in the same TRANSFORMS. The following example will fail:
  • TRANSFORMS=\\server\share\path\transforms1.mst;transform2.mst
  • But this example will not fail (transform2.mst is embedded).
  • TRANSFORMS=\\server\share\path\transforms1.mst;:transform2.mst

See also:

Skype Deployment: No Desktop Shortcut and/or Automatic Startup

TRANSFORMS Property

Still have a question or want to share what you have learned? Visit our Community Discord to get help and collaborate with others.