A few drops of WiX wisdom
WiX can hardly be called a beginner friendly framework. Having used the framework for the last couple of days, here are a few tips and tricks I have picked up:
Checking the .Net version
Using the following, the installer fetches the version of the installed .Net framework. If the version matches the requirements all is well. If an older version is installed, the specified message is displayed. This will only inform the user of the missing installation, however, using a bootstrapper the framework (or other dependencies) can be installed together with your MSI.
GUID is the upgrade code of your product. THISVERSION is the current version of the MSI.
Scheduling the removal of the old version after InstallFinalize assures that only files that actually have changed are being replaced.
In order to troubleshoot a MSI installation, you need to turn on the log file. The easiest way is using this command:
msiexec /i product.msi /L*v log.txt
product.msi is the MSI to be installed, L means generate a log using v verbose logging and write to file log.txt.
WiX tutorial is a great tutorial, going from a simple installer to a mature package supporting upgrade with custom made UI.