Programming:WiX

From WhyAskWhy.org Wiki
Jump to: navigation, search


My Notes on WiX

I've been reading through a Wix book [1], and have been jotting down various notes as I've gone through it, but even those look like they need to be distilled into something more bite-size.

Product element

  • The Product element describes the software that is in the installer.

Version attribute

  • The Version attribute is used to set the version number of your software.
  • It can accept up to four digits separated by periods.
  • The last digit is ignored by Windows Installer during operations such as detecting previously installed versions of your application.

UpgradeCode attribute

  • UpgradeCode should not change unless you want to install a new product and have the old product remain installed, that is, both products existing as separate instances.
Package element
  • You have to change the ID attribute each time you change the software or the installer in any way. The package has changed and so the ID must change.
  • The Package element describes the installer itself.
Component element
  • Once a Component contains a set of Resources, those Resources must ship in that Component with that GUID forever.
    • Resources are files, registry keys, shortcuts, etc. (basically almost everything that can be a child of the Component element).

RemoveFolder

  1. Your product is installed into %DesktopFolder%\CompanyXYZ\AppName.
  2. On uninstall <RemoveFolder Id="INTALLDIR"> instructs to remove the AppName folder.
  3. How will the CompanyXYZ folder be removed?
  • You can safely add a RemoveFolder element to the main component because the directory will be removed only if it is empty.
    • For example: You have another product installed at %DesktopFolder%\CompanyXYZ\AppName2

References

  1. WiX: A Developer's Guide to Windows Installer XML