Windows Installer
 
Unrestricted access to Windows Installer functionality!
 
Open Source
 
Open source!
 

<xml/>

 
Plain XML based source scripts!
 
Free
 
Free, no strings attached!
 
Build Automation
 
Command-line interface for automated application build process!
 
Community
 
Thriving community support!
Why WiX?
Why was my patch successfully applied but no files were updated?
Most likely you simply double-clicked a small or minor update patch. Application of a small or minor update patch requires an explicit reinstallation to be performed for the files to be updated. This can be accomplished using the MSIExec command line and including the REINSTALL and REINSTALLMODE properties (that is: msiexec /p {path to my patch.msp} REINSTALL=ALL REINSTALLMODE=omus). Another option would be to include a custom action in the patch that will set the REINSTALL and REINSTALLMODE properties appropriately. You should make sure that you conditionalize this custom action appropriately so that it only runs on first application of the patch. Subsequent reinstalls of the product should not result in execution of the custom action, otherwise your product may no longer be uninstallable. Other options include using a bootstrap executable that calls MsiApplyPatch with the appropriate property settings or using Windows Installer automation object to script the patch application.