Authoring Merge Module File Tables
A File Table is required in every merge module, and should have a record for each file that is being delivered to the target installation package by the merge module. When the merge module is merged into a .msi file, every file in the merge module File Table is stored inside a cabinet file in the .msm file. The name of the cabinet in a merge module is always the following: MergeModule.CABinet.
For more information, see Generating MergeModule.CABinet Cabinet Files.
Because the files of a merge module are always stored inside a cabinet file, it is not necessary to set the msidbFileAttributesNoncompressed or msidbFileAttributesCompressed bit flags in the Attributes column of the File Table.
The names of files in MergeModule.CABinet must match the primary key in the merge module's File Table.
The File column is the primary key of the File Table and the entries in this field must follow the convention that is described in Naming Primary Keys in Merge Module Databases.
File sequence numbers are specified in the Sequence column of the File Table.
Files must be listed in the merge module's File Table in the same sequence that they are stored in MergeModule.CABinet. The sequence numbers of files do not need to be consecutive, but they must follow the same sequence as the files that are stored inside the cabinet. For example, the first, second, and third files stored in the cabinet can have the sequence numbers 100, 200, and 300.
The Installer skips extra files included in MergeModule.CABinet that are not listed in the File Table.
One cabinet file can contain all the files necessary for a merge module that supports multiple languages using transforms. All the language files can be given a unique sequence number in the cabinet, and then a transform can add or remove files from the File Table when needed for a specific language. For more information, see Authoring Multiple Language Merge Modules.
For more information, see File Table.