Transforms and patches require a base database for use as the starting point for the changes contained in the transform or patch. You must have a database open in Orca before you can work with a transform or patch. If no changes to the original database are required before working with the transform or patch, the base database can be opened read-only.
Once you have opened a transform or patch in Orca, the database becomes read-only and can no longer be edited. Changes to the database that have not been saved are not lost and can be saved at any point, but no additional changes can be made. Once the transform or patch has been closed, the database can be edited again unless it was originally opened read-only.
Viewing and Editing Transforms
Unlike patches, only one transform can be applied to a database at a time. However, Orca can be used to create and edit transform files.
Transforms in Orca can only be viewed and edited in conjunction with a base database, never independently. Thus, you must have a database open before you can view or edit a transform.
Once you have created a new transform or applied an existing transform, any edits made in Orca apply to the transformed version of the database and do not change the original database. You can make additional changes to the original database only after closing the transform.
Creating a New Transform
To generate a new transform, choose New from the Transform menu. An empty, untitled transform is created for the current database.
Any subsequent changes in Orca apply to the transform and do not affect the current database.
Opening an Existing Transform
To open an existing transform, choose Apply Transform... from the Transform menu or drag and drop a transform file onto the Orca window. Any subsequent changes in Orca apply to the transform and do not affect the current database. Transforms themselves can be opened for read-only access as well, in which case editing operations in Orca are disabled.
If the selected transform cannot be applied to the current database due to the transform's validation or error-handling flags, the transform is not opened. Orca can be set to ignore validation checks and errors during transform application by choosing Options... from the Tools menu and selecting the desired behavior on the Transform pane.
Important: If Orca is set to ignore errors during transform application, portions of the transform are ignored during application because they do not apply to the current database. For example, the transform may contain instructions to modify a row that does not exist. If the transform is subsequently saved, the ignored portions of the original transform are lost and are not saved as part of the new transform.
Editing the Transform
To edit a transform, simply make changes to the database. Modifications are automatically applied to the transform instead of the original database. It is not necessary to have write access to the original database when editing a transform.
Important: While Orca allows the modification of all aspects of the package by direct editing or creation of a transform, the installation packages for some products are designed to work only with a specific subset of all possible customizations or only with transforms generated by a product-specific customization tool. Customizing a package designed in this manner with Orca can result in unexpected or erroneous behavior.
To change the validation and error behavior of the transform, choose Transform Properties from the Transforms menu and select the desired transform behavior.
For information on the meaning of transform error and validation flags, please see the MSI documentation.
Generating the MST File
To generate a transform file, choose Generate Transform... from the Transform menu and enter a file name. The transform file is created and contains any modifications to the base database.
Validation and error flags for the transform are set using the options specified in the Transform Properties dialog box.
Important: When generating a transform, the transform is based on the current state of the open MSI file. If the MSI file was modified in Orca since it was opened and has not been saved, the transform is generated using the modified database as the base for the transform, not the original copy on disk.
Important: If Orca is set to ignore errors during transform application, portions of the transform are ignored during application because they do not apply to the current database. For example, the transform may contain instructions to modify a row that does not exist. If the transform is subsequently saved, the discarded portions of the original transform are lost and are not saved as part of the new transform.
Saving the Results of a Transform
To save the results of applying a transform to a database, choose the Save Transformed As... option from the File menu.
Saving the results of a transformed application does not open the new file. The original base database and transform remain open.