I am interested in customizing my install process that uses WiX by using the WiX Transform files. Unfortunately, the Fire Giant site only has examples that use the MSIExec process on the Candle, Light, and Torch executables.
How would I go about using my current WiX installation which utilizes environment variables for paths to do transformations?
I am looking for some good examples.
Thanks,
Github.com: Based on your comments: here is a link to a sample I found on github.com on how to use torch.exe from the WiX toolkit. Here we see it used to create a language transform (not tested). And a rudimentary, canned search for more.
Similar Answer: MSI Repackaging - free tool. Windows Installer Transforms (MSDN) change an existing MSI file to run with different settings than the original MSI file had built-in.
Symantec has a good article here: About Transforms. Transforms are most commonly used for corporate packaging to enforce company standards (
shortcut location
,remove undesired components
,enforce fixes
,etc...
).
Transforms: If you mean Windows Installer transforms, as in "MyTransform.mst"
, then this is a generic Windows Installer construct and not a WiX-specific thing at all. Just to point that out first. These constructs are small database fragments that can be applied to the original MSI file at runtime. MSI files are actually SQL-databases under the hood.
Orca is Microsoft's own official MSI tool, it is installed with Visual Studio and the Windows SDK. Try searching for
Orca-x86_en-us.msi
- under Program Files (x86) and install the MSI if found.
Creating Transforms: Transforms can be created using Orca (or any number of third party tools - towards bottom - there are also commercial MSI tools). Using Orca: 1)
Open an MSI, 2)
go Transform => New Transform
, 3)
Now change anything you like in the MSI 4)
And finally go Tranform => Generate Transform...
Applying Transforms: Transforms are applied at runtime to MSI files as follows:
msiexec.exe /i C:\MySetup.msi TRANSFORMS=C:\MyTransform.mst
Several transforms can be applied to a single MSI (here a language transform is also applied):
msiexec.exe /i C:\MySetup.msi TRANSFORMS="C:\1033.mst;C:\MyTransform.mst"
Links: