- What's the difference between a WiX include (
.wxi
file) and a WiX fragment (.wxs
file)? - What are the use cases for each?
- Which should be used and why?
相关问题
- How does the setup bootstrapper detect if prerequi
- Wix: How can I set, at runtime, the text to be dis
- Wix variable name formats with spaces and other ch
- WiX: Multiple MSI files?
- Help with one step build all projects + installer
相关文章
- How do I require a value in a textbox in a Wix cus
- How to prevent WiX bundle with same UpgradeCode/Ve
- How do I pass a default 'install location'
- Running msiexec from a service (Local System accou
- Can I use msilib or other Python libraries to extr
- WIX 3.8 msiexec.exe /quiet Error 1603
- Wix Harvest: Same Component/File ID when files are
- Cancel Installation and Rollback using wix burn Bo
One thing to be aware of is that adding a wxs file to your project implies that MSBuild will do an incremental build when you update the wxs file. Including a wxi file does not do this.
But on the other hand, MSBuild is not doing automatic builds when any of the files you're including into your msi have been updated, so you're probably not doing incremental builds anyway.
Personally, I only use .wxi files to include common
<?define?>
s. I organize the rest of my product into many different logical groupings of Fragments. Treat Fragments like functions in your typical procedural language. Group like stuff together and don't make them too long.The file extension is a convenience, the content of the file is what really matters. The distinction makes it easier to manage the difference between the actual installation (wxs files) and the properties required to create the installation (wxi files).
For example, your wxs files specify the product and its contents (which files you install) whereas you would use your wxi files to specify product version, upgrade codes, common paths, etc.
The WiX documentation provides some clear information.