Torch and Pyro
Although the WiX toolset has been out for quite a while now, one very elusive area which has not been tackled is transform and patch support. With the addition of a new tool called "Torch", WiX will now have transform creation support.
How is the tool used?
Here's a sample command line: "torch.exe target.msi updated.msi -out transform.mst". This command will create a transform.mst file which will transform target.msi into updated.msi.
Does torch support special WiX xml file formats like the .wixout file format?
Yes, the .wixout file format has been extended for transform support. This provides full round-tripping support in conjunction with dark's new -xo command line option. You could create a transform with torch, then "decompile" it with dark into a .wixout file, then re-build the transform file by passing the .wixout file into torch. Although this is a pretty impractical series of tasks, there are likely scenarios in which an advanced user would want to examine a transform in an xml format (you could easily diff two transforms) or build a transform solely from xml.
What features would likely be added in the future?
- Create a transform from two .wixout files.
- Create a transform from two .wxl files (and a .wixout file) in order to create a language transform.
Although it won't be supported at this time, the transform support is a key piece of the infrastructure needed to make progress towards patch creation support. There is a new tool called "Pyro" which contains the engine for patch creation but not the nice user-interaction necessary to make it usable. With a bit more work, Pyro should one day be the WiX tool for creating patches.