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

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.