In the WiX schema, its not always entirely obvious how the tables from the Windows Installer schema map to the WiX schema. Below are some helpful hints on how to figure out the relationships between the two schemas.
This is authored using a CopyFile node nested under a File node. You only need to set the Id, DestinationFolder, and DestinationName attributes.
This is authored using a Condition node authored under Fragment or Product. You only need to set the Message attribute.
This is authored using Permission.
This is authored using a CopyFile node nested under a Component node. You will need to set all attributes except Delete. Set Delete to 'yes' in order to use the msidbMoveFileOptionsMove option.
The PublishComponent functionality is available in WiX by using a Category. Here is a small sample of what a PublishComponent record would look like in MSI, then in WiX notation.
ComponentId | Qualifier | Component_ | AppData | Feature_ |
---|---|---|---|---|
{11111111-2222-3333-4444-5555555555555} | 1033 | MyComponent | Random Data | MyFeature |
<Component Id='MyComponent' Guid='87654321-4321-4321-4321-110987654321'> <Category Id='11111111-2222-3333-4444-5555555555555' AppData='Random Data' Qualifier='1033'/> </Component> . . . <Feature Id='MyFeature' Level='1'> <ComponentRef Id='MyComponent'/> </Feature> |
This is authored using IniFile. Just set the Action attribute to 'removeLine' or 'removeTag' as appropriate.
This is authored using Registry. Simply set the Action attribute to 'remove' or 'removeKey' (as appropriate) in order to get an entry in the RemoveRegistry table.