7.1.2 Authoring a Transform

Transforms describe a set of modifications to be performed on an existing MSI for the purpose of customizing it. This is ordinarily done by making a copy of the MSI to be customized, modifying the copy and then using the old and the new MSI to generate a transform. For example:

  1. copy openafs.msi openafs-modified.msi

  2. (edit the openafs-modified.msi to include the necessary changes)

  3. msitran -g openafs.msi openafs-modified.msi openafs-transform.mst

  4. (generates openafs-transform.mst, which is the transform)

Transforms have an extension of .mst. 'msitran' is a tool distributed as part of the "Windows Installer" SDK (part of the Windows Platform SDK).

You can test a transform by:

  1. copy openafs.msi openafs-test.msi

  2. msitran -a openafs-transform.mst openafs-test.msi

and then checking the resulting openafs-test.msi to see if all changes you have made above to openafs-modified.msi is present in openafs-test.msi. 'msitran' will complain if some modification in the transform can not be successfully applied.

As mentioned above, you can use a tool like ORCA.EXE to edit the MSI databases directly when editing openafs-modified.msi. More details are given below.