Windows Installer 5.0 Single Package Authoring

Beginning with the 5.0 version Windows Installer offers support for creating packages that can be installed in either per-user or per-machine type.

Package Creation Guidelines

UI Authoring

Add the InstallType dialog to the project. This dialog will set the MSIINSTALLPERUSER and ALLUSERS properties to the correct values.

Registry Redirection

Use the "Current User/Local Machine" registry hive as it will be automatically redirected. Also the HKEY_CLASSES_ROOT hive will be redirected to HKCU\Software\Classes in a per-user installation or to HKLM\Software\Classes in a per-machine installation.

Folder Redirection

Use one of the folders that will be redirected to install files:

  • Program Files / Program Files 64 - will be redirected to %LocalAppData%\Programs in a per-user installation.
  • Common Files / Common Files 64 - will be redirected to %LocalAppData%\Programs\Common in a per-user installation.

Do not write in global system folders:

  • Administrative Tools
  • Common Application Data
  • Fonts
  • System16
  • System64
  • System
  • Temp
  • Windows
  • Windows Volume

Other Restrictions

  • Do not use custom actions in your package that require elevated privileges to run.
  • Do not install a common language run-time assembly into the global assembly cache (GAC.)
  • Do not install any ODBC data sources.
  • Do not install any services.

For a more comprehensive help please see Single Package Authoring page.