Installation types
Installation of your product can take place as either an All Users or a Current User installation, which you select through the Installation level option on the Installer options page in your InstallMate project:
- All Users installations make the product available to all users who log onto the computer. On Windows NT-based systems such as Windows XP, Vista, 7, and 8, the installing user must belong to the Power Users or Administrators groups to perform an All Users installation.
- Current User installations make the product available only to the installing user. All shared installation folders are redirected to their Current User equivalent. This type of installation can generally be performed by any user.
Benefits
- InstallMate's Current User installation allows an application to be installed by an unprivileged user for his or her own exclusive use.
- It also allows multiple independent installations of the same product.
- In fact, there can be as many independent installations as there are user accounts on the system, plus one additional per-machine installation.
InstallMate's fully isolated Current User installations
The most important difference between InstallMate's Current User installation and the "Current User" installation of other installers is this:
- With most installers, a "Current User" installation only installs the shortcuts for the current user; the rest of the product is installed system-wide. Unprivileged users cannot install these products at all.
- With InstallMate, all Current User installations are fully isolated from one another, and are also isolated from any All Users installation. Unprivileged users can install the product for themselves.
Most other installers cannot handle multiple, mutually isolated installations of the same product for different users on a single system, and they also cannot handle installation by unprivileged users.
Notes
- All Users installations are also known as "per machine" installations in the installer literature;
- Current User installations are also known as "per user" installations.
Redirections during Current User installations
The following table shows which redirections take place during a Current User (per-user) installation as compared to an All Users (per-machine) installation.
Item | All Users installation | Current User installation |
---|---|---|
All Users folders tree | No redirection | Redirected to Current User tree |
Current User folder tree | No redirection | No redirection necessary |
Program Files folder tree | No redirection | Redirected to the user_name\Application Data folders tree |
ActiveX control registration | Registered globally | Registered for Current User only |
DLL self-registration | Registered globally | Registered for Current User only |
Typelib registration | Registered globally | Registered for Current User only |
File type registration | Registered globally | Registered for Current User only |
App Paths registration | Registered globally | Registered for Current User only |
HKEY_ALL_USERS registry | Mapped to HKEY_LOCAL_MACHINE | Mapped to HKEY_CURRENT_USER |
HKEY_CURRENT_USER registry | No redirection | No redirection necessary |
HKEY_LOCAL_MACHINE registry | No redirection | No redirection possible Note: If the installing user does not have sufficient access rights, the installation might fail. |
HKEY_CLASSES_ROOT registry | No redirection | Mapped to HKEY_CURRENT_USER\Software\Classes |
Limitations of Current User installations
The following items cannot be installed during a Current User installation, because they cannot be redirected on a per-user basis:
- Global .Net assemblies (use private .Net assemblies instead).
- Global side-by-side assemblies (use private side-by-side assemblies instead).
- Global ActiveX controls installed in the Windows System folder (install them in your own application folder instead; they can still be registered).
- Global DLLs installed in the Windows System folder (install them in your own application folder instead; they can still be registered).
- Windows NT4, 2000, XP, Vista, and later services (these always require Administrator privileges).
- HKEY_LOCAL_MACHINE registry entries (use HKEY_ALL_USERS entries where possible).
Installation levels versus Windows versions
The following table shows how the various Windows versions and installing user account types affect the installation type as specified by the Installation level on the Installer options project page.
Situation | Install level option | |||
---|---|---|---|---|
Windows version | Installing user | All Users | Query/Fall back | Current User |
95, 98, Me | any account | All Users | All Users | Current User |
NT4 | Administrator | All Users | All Users | Current User |
Power User | fails | Current User (1) | Current User | |
User | fails | Current User | Current User | |
2000, XP, 2003 | Administrator | All Users | All Users | Current User |
Power User | All Users | All Users | Current User | |
User | fails | Current User | Current User | |
Vista, 2008, Windows 7, 8, 2012 (Administrator installer) |
Administrator | All Users (2) | All Users | Current User |
User | All Users (2) | All Users | Current User | |
Vista, 2008, Windows 7, 8, 2012 (Standard installer) |
Administrator | All Users | All Users (3) | Current User |
User | fails | Current User (3) | Current User | |
Vista, 2008, Windows 7, 8, 2012 (AsInvoker installer) |
Administrator | fails | Current User | Current User (4) |
User | fails | Current User | Current User (4) |
- Windows NT4 requires Administrator privileges to install All Users shortcuts. The installer will therefore fall back to Current User if running with less than Administrator privileges. See Dealing with access rights for more information.
- The Administrator installer is the default stub set for Administrator/All Users installation on Windows Vista and later. The installers will only run if the user enters the administrative password (or gives consent as an Administrator); in that case, the installer runs with Administrator privileges.
- The Standard installer is the default stub set for All Users/Current User installation on Windows Vista and later. It will run as Administrator if started by an administrator, or as an unprivileged user otherwise. In the latter case, all redirection takes place as documented for the earlier Windows versions such as XP.
- The AsInvoker installer is the default stub set for Current User installation on Windows Vista and later. The installer will run with the same (reduced) privileges as the user and all redirection takes place as documented for the earlier Windows versions such as XP.
The selection of the Administrator, Standard, or AsInvoker stub sets for Windows Vista and later takes place automatically depending on the Installation level that you specify on the Installer options project page. You only need to be aware of these different levels if you manually change the setup stub set in the Build - Advanced dialog box.