Per-user Installations

The per-user installation of an application means that the application is available only for a particular user. It also means that:

  • Shortcuts are installed only to that users' profile.
  • Applications appear only under Add/Remove Programs on Control Panel for users that have installed the applications.
  • On Windows 2000, COM registration is written to HKCU\Software\Classes.
  • Applications may or may not run at elevated privileges.
  • Icons and transforms are stored in %USERPROFILE%\Application Data\Microsoft\Installer\{ProductCode GUID}
  • The installer sets the following properties during a per-user installations.

Beginning with Windows Vista, applications can begin to use the SHGetKnownFolderPath function and the KNOWNFOLDERID constants to determine the full path to the special folders. The names of the Windows Installer System Folder Properties remain unchanged. The extended functions of the Knownfolder API subsume all the functionality of the original versions. Existing applications that use the SHGetFolderPath function and the CSIDL will continue to work. The KNOWNFOLDERID values are defined in Knownfolders.h.

Property KNOWNFOLDERID CSIDL
DesktopFolder

The full path of the Desktop folder for the current user.

FOLDERID_Desktop

Introduced in Windows Vista.

CSIDL_DESKTOPDIRECTORY

Existed on Windows 2000.

ProgramMenuFolder

The full path of the Program Menu folder for the current user.

FOLDERID_Programs

Introduced in Windows Vista.

CSIDL_PROGRAMS

Existed on Windows 2000.

StartMenuFolder

The full path of the Start Menu folder for the current user.

FOLDERID_StartMenu

Introduced in Windows Vista.

CSIDL_STARTMENU

Existed on Windows 2000.

StartUpFolder

The full path of the Start Up folder for current user.

FOLDERID_Startup

Introduced in Windows Vista.

CSIDL_STARTUP

Existed on Windows 2000.

TemplateFolder

The full path of the Templates folder for current user.

FOLDERID_Templates

Introduced in Windows Vista.

CSIDL_TEMPLATES

Existed on Windows 2000.

AdminToolsFolder

The full path of the Administrative Tools folder for the current user.

FOLDERID_AdminTools

Introduced in Windows Vista.

CSIDL_ADMINTOOLS

Existed on Windows 2000.

AppDataFolder

Starting in Windows Vista, the full path of the Roaming folder for the current user; otherwise, the full path to the Application Data folder for the current user.

FOLDERID_RoamingAppData

Introduced in Windows Vista.

CSIDL_APPDATA

Existed on Windows 2000.

CommonAppDataFolder

The full path of the folder that contains application data for All Users.

FOLDERID_ProgramData

Introduced in Windows Vista.

CSIDL_COMMON_APPDATA

Existed on Windows 2000.

FavoritesFolder

The full path of the Favorites folder for the current user.

FOLDERID_Favorites

Introduced in Windows Vista.

CSIDL_FAVORITES

Existed on Windows 2000.

PersonalFolder

Starting in Windows Vista, the full path of the Documents folder for the current user; otherwise, the full path of the My Documents folder or Personal folder for the current user.

FOLDERID_Documents

Introduced in Windows Vista.

CSIDL_PERSONAL

Existed on Windows 2000.

SendToFolder

The full path of the SendTo folder for the current user.

FOLDERID_SendTo

Introduced in Windows Vista.

CSIDL_SENDTO

Existed on Windows 2000.

FontsFolder

The full path of the System Fonts folder.

FOLDERID_Fonts

Introduced in Windows Vista.

CSIDL_FONTS

Existed on Windows 2000.

ProgramFilesFolder

The full path of the Program Files folder for the current user.

FOLDERID_ProgramFiles

Introduced in Windows Vista.

FOLDERID_Programs

Introduced in Windows 7.

CSIDL_PROGRAM_FILES

Existed on Windows 2000.

ProgramFilesFolder

The full path of the Program Files folder for the current user.

FOLDERID_ProgramFilesX86

Introduced in Windows Vista.

FOLDERID_Programs

Introduced in Windows 7.

CSIDL_PROGRAM_FILESX86

Existed on Windows 2000.

ProgramFilesFolder

The full path of the Program Files folder for the current user.

FOLDERID_ProgramFilesX64

Introduced in Windows Vista.

None

CommonFilesFolder

The full path of the Common Files folder for the current user.

FOLDERID_ProgramFilesCommon

Introduced in Windows Vista.

FOLDERID_UserProgramFilesCommon

Introduced in Windows 7.

CSIDL_PROGRAM_FILES_COMMON

Existed on Windows 2000.

CommonFilesFolder

The full path of the Common Files folder for the current user.

FOLDERID_ProgramFilesCommonX86

Introduced in Windows Vista.

CSIDL_PROGRAM_FILES_COMMONX86

Existed on Windows 2000.

CommonFilesFolder

The full path of the Common Files folder for the current user.

FOLDERID_ProgramFilesCommonX64

Introduced in Windows Vista.

None

WindowsFolder

The full path of the Windows folder for the current user.

FOLDERID_Windows

Introduced in Windows Vista.

CSIDL_WINDOWS

Existed on Windows 2000.

SystemFolder

The full path of the System folder for the current user.

FOLDERID_SystemX86

Introduced in Windows Vista.

CSIDL_SYSTEMX86

Existed on Windows 2000.

LocalAppDataFolder

The full path of the folder that contains local (nonroaming) applications.

FOLDERID_LocalAppData

Introduced in Windows Vista.

CSIDL_LOCAL_APPDATA

Existed on Windows 2000.

MyPicturesFolder

Starting in Windows Vista, the full path of the Pictures folder for the current user; otherwise, the full path of the My Pictures folder for the current user.

FOLDERID_Pictures

Introduced in Windows Vista.

CSIDL_MYPICTURES

Existed on Windows 2000.

See Also

Per-Machine Installations

Specifying a Per-User or Per-Machine Installation

Send comments about this topic to Microsoft

Build date: 3/9/2009