Programming:WiX

From WhyAskWhy.org Wiki
Revision as of 20:41, 4 July 2012 by Deoren (talk | contribs) (Adding WiX notes page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


My Notes on WiX

I've been reading through WiX: A Developer's Guide to Windows Installer XML 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