#$KWhat Is A Transform?
A Transform is a storage file consisting of various streams for the various tables. Each table stream represents the actions to be performed on that table.  A mask determines what action to take and is followed by the required data to complete the action. To view the actions a transform file will perform, use the Transform Tool with the -v option. The following transform actions are supported:

      Add a table
      Delete a table
      Add a column to a table
      Add a row to a table
      Delete a row from a table
      Update a row in a table

#$KCreating Transforms
Transforms are created by comparing a base database with a reference database and generating a file containing the differences between the two. This is accomplished via the GenerateTransform method of the IMsiDatabase object. Or you can use the command line Transform Tool with the -g option.

#$KTransform Scenarios
The data for a Darwin installation is stored in a set of relational tables. In many situations a variation of the tables is required:

1. Localization - minor to major text changes, file and logic changes
2. Upgrades/patches - changes and additions to existing tables
3. Product variants - addition and removal of components
4. Admin customization - tailoring tables to corporate needs

In all these situations, the same technology is used and is incorporated into the Darwin components. A transform is read and applied to the database tables to transform them into the desired set of table data.
#$KApplying Transforms
Transforms are generally applied by setting the TRANSFORMS property to the list of transforms to be be applied. The engine will apply these transforms to the database  when it opens the database.Transforms can also be applied by calling the SetTransform method of the MsiDatabase object, or using the command line Transform Tool with the -a option.