Transforms
About transforms
Transforms, having the extension .mst, are files that contain the differences between two MSI databases. That is, you can apply a transform to an MSI database and turn it into a completely different database. Transforms can also be used to convert one type of product release to another or update a product installation.
Creating and applying transforms with ActiSetup
To create or apply a transform, you must use the Transform Wizard. To open the Transform Wizard, go to Tools in the main menu and select Transform Wizard. Follow the instructions given by the wizard. The validation settings and error conditions are described below.
Validation options
| Option | Description |
|---|---|
| Default language must match source package | Select this option to ensure that the language of the transform matches the language of the package to which the transform is being applied. |
| Product code must match source package | Select this option if you want your transform to be applied only to .msi files that have the same product code as the source package. |
| Platform must match source package | Select this option to ensure that the platform for which the source package is intended matches the target platform of the transform. |
| Upgrade code must match source package | Select this option if you want the transform to be applied only if the upgrade code of the .msi file matches that of the transform. |
| Version matching | Select the version type that you would like to validate against. You can choose between a combination of major version, minor version, or upgrade version. You can also choose to not validate against the product version. |
| Version relationship | Specify how you would like to validate the product version:
|
Suppress error conditions
| Option | Description |
|---|---|
| Adding an existing row | Select this option to allow the transform to add a row to the MSI database that already exists. |
| Deleting a row that does not exist | Select this option to allow the transform to delete a row from the MSI database that does not exist. |
| Adding an existing table | Select this option to allow the transform to add a table to the MSI database that already exists. |
| Deleting a table that does not exist | Select this option to allow the transform to delete a table from the MSI database that does not exist. |
| Modifying a row that does not exist | Select this option to allow the transform to modify a row to the MSI database that does not exist. |
| Code page of transform does not match source | Select this option to suppress error codes caused by code pages in the transform not matching those in the source .msi file. |
Comparing MSI files
In addition to creating transforms, you can also visually compare two MSI databases using ActiSetup. The tool that does this is called MSIDiff and it is accessible from the Tools menu.