Contexte d’installation

Windows Installer peut installer un package sur un ordinateur dans deux contextes d’installation : par ordinateur et par utilisateur. Une installation par ordinateur du package est nécessaire pour permettre à tous les utilisateurs de l’ordinateur d’accéder à l’application et de l’utiliser. Étant donné qu’une installation par ordinateur apporte des modifications au système qui affectent tous les utilisateurs, les utilisateurs standard disposant de privilèges limités peuvent être empêchés d’installer un package dans le contexte par ordinateur sans avoir obtenu l’autorisation au préalable.

Vous pouvez spécifier le contexte d’installation en créant le package pour une installation par utilisateur ou par ordinateur et en utilisant les propriétés ALLUSERS et MSIINSTALLPERUSER. En fonction de ces propriétés, Windows Installer redirige automatiquement les valeurs des propriétés des dossiers et des inscriptions vers les emplacements du contexte par utilisateur ou par ordinateur.

Notes

La propriété MSIINSTALLPERUSER, disponible à partir de Windows Installer 5.0, Windows Server 2008 R2 et Windows 7, peut faciliter le développement d’un package unique pouvant être installé dans le contexte par ordinateur ou par utilisateur. Pour plus d’informations sur le développement d’un package à double usage qui donne à l’utilisateur la possibilité de choisir le contexte d’installation au moment de l’installation, consultez la section Création de package unique. Windows Installer ignore la propriété MSIINSTALLPERUSER si la valeur de ALLUSERS est différente de 2. Windows Installer réinitialise toujours la valeur de ALLUSERS à 1 lorsqu’il installe dans le contexte par ordinateur et réinitialise la valeur de ALLUSERS à une chaîne vide ("") lorsqu’il installe dans le contexte par utilisateur.

 

Redirection des raccourcis

Le tableau suivant compare les emplacements des raccourcis pour les contextes d’installation par ordinateur et par utilisateur.

Contexte d’installation par ordinateur (ALLUSERS=1) Contexte d’installation par utilisateur (ALLUSERS="")
Les applications apparaissent sous Ajout/Suppression de programmes dans le Panneau de configuration pour tous les utilisateurs de l’ordinateur.
Les applications apparaissent uniquement sous Ajout/Suppression de programmes dans le Panneau de configuration pour les utilisateurs qui ont installé les applications.
Les raccourcis sont installés dans le profil Tous les utilisateurs.
Les raccourcis sont installés uniquement dans le profil de l’utilisateur.
Les icônes et les transformations sont stockées dans %WINDOWS%\Installer\{ProductCode}.
Les icônes et les transformations sont stockées dans %USERPROFILE%\Application Data\Microsoft\Installer\{ProductCode GUID}

 

Redirection du registre

Le tableau suivant compare les emplacements des entrées de registre pour les contextes d’installation par ordinateur et par utilisateur.

Contexte d’installation par ordinateur (ALLUSERS=1) Contexte d’installation par utilisateur (ALLUSERS="")
Windows Installer écrit ou supprime les valeurs de registre entrées dans la table Registre et la table RemoveRegistry, avec la valeur -1 dans la colonne Racine, sous HKEY_LOCAL_MACHINE.
Windows Installer écrit ou supprime les valeurs de registre entrées dans la table Registre et la table RemoveRegistry, avec la valeur -1 dans la colonne Racine, sous HKEY_CURRENT_USER.
Windows Installer écrit ou supprime les valeurs de registre entrées dans la table Registre et la table RemoveRegistry, avec la valeur msidbRegistryRootClassesRoot (0) dans la colonne Racine, sous HKLM\Software\Classes.
Windows Installer écrit ou supprime les valeurs de registre entrées dans la table Registre et la table RemoveRegistry, avec la valeur msidbRegistryRootClassesRoot (0) dans la colonne Racine, sous HKCU\Software\Classes.
COM est inscrit dans HKLM\Software\Classes.
COM est inscrit dans HKCU\Software\Classes.

 

Redirection de dossiers

Windows Installer définit les valeurs des propriétés de dossier sur le chemin d’accès complet du dossier correspondant au contexte d’installation.

Notes

Les dossiers sont identifiés par leurs constantes KNOWNFOLDERID et CSIDL. À partir de Windows Vista, les applications doivent utiliser la fonction SHGetKnownFolderPath et KNOWNFOLDERID pour déterminer le chemin d’accès complet aux dossiers spéciaux. Les applications existantes qui utilisent la fonction SHGetFolderPath et les ID d’élément spécial constant (CSIDL) continueront de fonctionner.

 

Le tableau suivant compare les emplacements des dossiers utilisés lorsque Windows Installer installe le package dans les contextes d’installation par ordinateur ou par utilisateur.

Contexte d’installation par ordinateur (ALLUSERS=1) Contexte d’installation par utilisateur (ALLUSERS="")
DesktopFolderChemin d’accès complet du dossier Bureau pour tous les utilisateurs.
FOLDERID_PublicDesktop (CSIDL_COMMON_DESKTOPDIRECTORY)
DesktopFolderChemin d’accès complet du dossier Bureau pour l’utilisateur actuel.
FOLDERID_Desktop (CSIDL_DESKTOP, CSIDL_DESKTOPDIRECTORY)
ProgramMenuFolderChemin d’accès complet du dossier Menu des programmes pour tous les utilisateurs.
FOLDERID_CommonPrograms (CSIDL_COMMON_PROGRAMS)
ProgramMenuFolderChemin d’accès complet du dossier Menu des programmes pour l’utilisateur actuel.
FOLDERID_Programs (CSIDL_PROGRAMS)
StartMenuFolderChemin d’accès complet du dossier Menu Démarrer pour tous les utilisateurs.
FOLDERID_CommonStartMenu (CSIDL_COMMON_STARTMENU)
StartMenuFolderChemin d’accès complet du dossier Menu Démarrer pour l’utilisateur actuel.
FOLDERID_StartMenu (CSIDL_STARTMENU)
StartUpFolderChemin d’accès complet du dossier Démarrage pour tous les utilisateurs.
FOLDERID_CommonStartup (CSIDL_COMMON_STARTUP)
StartUpFolderChemin d’accès complet du dossier Démarrage pour l’utilisateur actuel.
FOLDERID_Startup (CSIDL_STARTUP)
TemplateFolderChemin d’accès complet du dossier Modèles pour tous les utilisateurs.
FOLDERID_CommonTemplates (CSIDL_COMMON_TEMPLATES)
TemplateFolderChemin d’accès complet du dossier Modèles pour l’utilisateur actuel.
FOLDERID_Templates (CSIDL_TEMPLATES)
AdminToolsFolderChemin d’accès complet du dossier Outils d’administration pour tous les utilisateurs.
FOLDERID_CommonAdminTools (CSIDL_COMMON_ADMINTOOLS)
AdminToolsFolderChemin d’accès complet du dossier Outils d’administration pour l’utilisateur actuel.
FOLDERID_AdminTools (CSIDL_ADMINTOOLS)
AppDataFolderChemin d’accès complet du dossier Menu des programmes.
Windows Vista et versions ultérieures : chemin d’accès complet du dossier Itinérance.

FOLDERID_RoamingAppData (CSIDL_APPDATA)
AppDataFolderChemin d’accès complet du dossier Menu des programmes.
Windows Vista et versions ultérieures : chemin d’accès complet du dossier Itinérance.

FOLDERID_RoamingAppData (CSIDL_APPDATA)
CommonAppDataFolderChemin d’accès complet du dossier qui contient les données d’application pour tous les utilisateurs.
FOLDERID_ProgramData (CSIDL_COMMON_APPDATA)
CommonAppDataFolderChemin d’accès complet du dossier qui contient les données d’application pour tous les utilisateurs.
FOLDERID_ProgramData (CSIDL_COMMON_APPDATA)
FavorisFolderChemin d’accès complet du dossier Favoris pour l’utilisateur actuel.
FOLDERID_Favorites (CSIDL_FAVORITES)
FavorisFolderChemin d’accès complet du dossier Favoris pour l’utilisateur actuel.
FOLDERID_Favorites (CSIDL_FAVORITES)
PersonalFolderChemin d’accès complet du dossier Mes documents ou du dossier Personnel pour l’utilisateur actuel.
Windows Vista et versions ultérieures : chemin d’accès complet du dossier Documents pour l’utilisateur actuel.

FOLDERID_Documents (CSIDL_PERSONAL)
PersonalFolderChemin d’accès complet du dossier Mes documents ou du dossier Personnel pour l’utilisateur actuel.
Windows Vista et versions ultérieures : chemin d’accès complet du dossier Documents pour l’utilisateur actuel.

FOLDERID_Documents (CSIDL_PERSONAL)
SendToFolderChemin d’accès complet du dossier SendTo.
FOLDERID_SendTo (CSIDL_SENDTO)
SendToFolderChemin d’accès complet du dossier SendTo.
FOLDERID_SendTo (CSIDL_SENDTO)
FontsFolderChemin d’accès complet du dossier Polices système.
FOLDERID_Fonts (CSIDL_FONTS)
FontsFolderChemin d’accès complet du dossier Polices système.
FOLDERID_Fonts (CSIDL_FONTS)
ProgramFilesFolderVersion 32 bits de Windows : la valeur de la propriété est le chemin d’accès complet du dossier Fichiers de programme pour tous les utilisateurs (par exemple, %ProgramFiles%.) L’identificateur de ce dossier est FOLDERID_ProgramFiles (CSIDL_PROGRAM_FILES.) Les identificateurs FOLDERID_ProgramFiles et FOLDERID_ProgramFilesX86 représentent le même dossier. Les fichiers de ce dossier sont accessibles à tous les utilisateurs.
Version 64 bits de Windows : la valeur de la propriété est le chemin d’accès complet du dossier Fichiers de programme (x86) pour tous les utilisateurs (par exemple, %ProgramFiles(x86)%.) L’identificateur de ce dossier est FOLDERID_ProgramFilesX86 (CSIDL_PROGRAM_FILESX86.) Les fichiers de ce dossier sont accessibles à tous les utilisateurs.
ProgramFilesFolderWindows Server 2008 R2 et Windows 7 : la valeur de la propriété est le chemin d’accès complet du dossier Programmes pour l’utilisateur actuel (par exemple, %LocalAppData%\Programs.) L’identificateur de ce dossier est FOLDERID_UserProgramFiles sur les systèmes 32 bits et 64 bits. Il n’existe aucun identificateur CSIDL équivalent pour FOLDERID_UserProgramFiles. Les fichiers de ce dossier sont accessibles uniquement par l’utilisateur qui a installé ce dossier.
Windows Server 2008 et versions antérieures, Windows Vista et versions antérieures : aucun dossier compatible par utilisateur n’est disponible. Le chemin d’accès est le même que pour le contexte par ordinateur (par exemple, %ProgramFiles% ou %ProgramFiles(x86)%.) Les fichiers de ce dossier sont accessibles à tous les utilisateurs.

CommonFilesFolderVersion 32 bits de Windows : la valeur de la propriété est le chemin d’accès complet du dossier Fichiers communs pour tous les utilisateurs (par exemple, %ProgramFiles%\Common Files.) L’identificateur de ce dossier est FOLDERID_ProgramFilesCommon (CSIDL_PROGRAM_FILES_COMMON.) Les identificateurs FOLDERID_ProgramFilesCommon et FOLDERID_ProgramFilesCommonX86 représentent le même dossier. Les fichiers de ce dossier sont accessibles à tous les utilisateurs.
Version 64 bits de Windows : la valeur de la propriété est le chemin d’accès complet du dossier Fichiers communs pour tous les utilisateurs (par exemple, %ProgramFiles(x86)%\Common Files.) L’identificateur de ce dossier est FOLDERID_ProgramFilesCommonX86 (CSIDL_PROGRAM_FILES_COMMONX86.) Les fichiers de ce dossier sont accessibles à tous les utilisateurs.
CommonFilesFolderWindows Server 2008 R2 et Windows 7 : la valeur de la propriété est le chemin d’accès complet du dossier Commun pour l’utilisateur actuel (par exemple, %LocalAppData%\Programs\Common.) L’identificateur de ce dossier est FOLDERID_UserProgramFilesCommon sur les systèmes 32 bits et 64 bits. Il n’existe aucun identificateur CSIDL équivalent pour FOLDERID_UserProgramFilesCommon. Les fichiers de ce dossier sont accessibles uniquement par l’utilisateur qui a installé ce dossier.
Windows Server 2008 et versions antérieures, Windows Vista et versions antérieures : aucun dossier compatible par utilisateur n’est disponible. Le chemin d’accès est le même que pour le contexte par ordinateur (par exemple, %ProgramFiles%\Common Files ou %ProgramFiles(x86)%\Common Files.) Les fichiers de ce dossier sont accessibles à tous les utilisateurs.

ProgramFiles64FolderLa valeur de la propriété est le chemin d’accès complet du dossier Fichiers de programme pour tous les utilisateurs (par exemple, %ProgramFiles%.) L’identificateur de ce dossier est FOLDERID_ProgramFilesX64. Il n’existe aucun identificateur CSIDL équivalent à FOLDERID_ProgramFilesX64. Il s’agit du dossier prédéfini pour les composants 64 bits et s’applique aux systèmes 64 bits. Les fichiers de ce dossier sont accessibles à tous les utilisateurs.
ProgramFiles64FolderWindows Server 2008 R2 et Windows 7 : la valeur de la propriété est le chemin d’accès complet du dossier Programmes pour l’utilisateur actuel (par exemple, %LocalAppData%\Programs.) L’identificateur de ce dossier est FOLDERID_UserProgramFiles. Il n’existe aucun identificateur CSIDL équivalent pour FOLDERID_UserProgramFiles. Les fichiers de ce dossier sont accessibles uniquement par l’utilisateur qui a installé ce dossier.
Windows Server 2008 et versions antérieures, Windows Vista et versions antérieures : aucun dossier compatible par utilisateur n’est disponible. Le chemin d’accès est le même que pour le contexte par ordinateur (par exemple, %ProgramFiles%.) Les fichiers de ce dossier sont accessibles à tous les utilisateurs.

CommonFiles64Folder La valeur de la propriété est le chemin d’accès complet du dossier Fichiers communs pour tous les utilisateurs (par exemple, %ProgramFiles%\Common Files.) Il s’agit du dossier prédéfini pour les composants 64 bits et s’applique aux systèmes 64 bits. L’identificateur de ce dossier est FOLDERID_ProgramFilesCommonX64. Il n’existe aucun identificateur CSIDL équivalent à FOLDERID_ProgramFilesCommonX64. Les fichiers de ce dossier sont accessibles à tous les utilisateurs.
CommonFiles64FolderWindows Server 2008 R2 et Windows 7 : la valeur de la propriété est le chemin d’accès complet du dossier Commun pour l’utilisateur actuel (par exemple, %LocalAppData%\Programs\Common.) L’identificateur de ce dossier est FOLDERID_UserProgramFilesCommon. Il n’existe aucun identificateur CSIDL équivalent pour FOLDERID_UserProgramFilesCommon. Les fichiers de ce dossier sont accessibles uniquement par l’utilisateur qui a installé ce dossier.
Windows Server 2008 et versions antérieures, Windows Vista et versions antérieures : aucun dossier compatible par utilisateur n’est disponible. Le chemin d’accès est le même que pour le contexte par ordinateur (par exemple, %ProgramFiles%\Common Files.) Les fichiers de ce dossier sont accessibles à tous les utilisateurs.

WindowsFolderChemin d’accès complet du dossier Windows.
FOLDERID_Windows (CSIDL_WINDOWS)
WindowsFolderChemin d’accès complet du dossier Windows.
FOLDERID_Windows (CSIDL_WINDOWS)
SystemFolderChemin d’accès complet du dossier Système.
FOLDERID_SystemX86 (CSIDL_SYSTEMX86)
SystemFolderChemin d’accès complet du dossier Système.
FOLDERID_SystemX86 (CSIDL_SYSTEMX86)
LocalAppDataFolderChemin d’accès complet du dossier qui contient des applications locales (non itinérantes).
FOLDERID_LocalAppData (CSIDL_LOCAL_APPDATA)
LocalAppDataFolderChemin d’accès complet du dossier qui contient des applications locales (non itinérantes).
FOLDERID_LocalAppData (CSIDL_LOCAL_APPDATA)
MyPicturesFolderChemin d’accès complet du dossier Images ou Mes images.
FOLDERID_Pictures (CSIDL_MYPICTURES)
MyPicturesFolderChemin d’accès complet du dossier Images ou Mes images.
FOLDERID_Pictures (CSIDL_MYPICTURES)
PrintHoodFolderChemin d’accès complet du dossier PrintHood.
FOLDERID_PrintHood (CSIDL_PRINTHOOD)
PrintHoodFolderChemin d’accès complet du dossier PrintHood.
FOLDERID_PrintHood (CSIDL_PRINTHOOD)
NetHoodFolderChemin d’accès complet du dossier NetHood.
FOLDERID_NetHood (CSIDL_NETHOOD)
NetHoodFolderChemin d’accès complet du dossier NetHood.
FOLDERID_NetHood (CSIDL_NETHOOD)
RecentFolderChemin d’accès complet du dossier Récent.
FOLDERID_Recent (CSIDL_RECENT)
RecentFolderChemin d’accès complet du dossier Récent.
FOLDERID_Recent (CSIDL_RECENT)

 

Notes

Une application peut appeler les fonctions MsiEnumProducts ou MsiEnumProductsEx pour énumérer tous les produits installés sur le système. L’application peut ensuite récupérer des informations sur le contexte d’installation de ces produits en appelant les fonctions MsiGetProductInfoEx ou MsiGetProductInfo. Pour plus d’informations, consultez Détermination du contexte d’installation.