Partager via


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 les 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 obtenir d’abord l’autorisation.

Vous pouvez spécifier le contexte d’installation en créant le package pour l’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 de dossier et des inscriptions vers des emplacements pour le contexte par utilisateur ou par ordinateur.

Note

La propriété MSIINSTALLPERUSER, disponible à partir de Windows Installer 5.0 et Windows Server 2008 R2 et Windows 7, peut faciliter le développement d’un package unique capable d’ê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 création de package unique. Windows Installer ignore la propriété MSIINSTALLPERUSER si la valeur de ALLUSERS n’est pas 2. Windows Installer réinitialise toujours la valeur de ALLUSERS à 1 lorsqu’il est installé dans le contexte par ordinateur et réinitialise la valeur de ALLUSERS à une chaîne vide («  ») lorsqu’il est installé dans le contexte par utilisateur.

 

Redirection de raccourcis

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

contexte d’installation Per-Machine (ALLUSERS=1) contexte d’installation Per-User (ALLUSERS=" »)
Les applications apparaissent sous Ajouter/supprimer des programmes sur le Panneau de configuration pour tous les utilisateurs de l’ordinateur.
Les applications apparaissent uniquement sous Ajouter/supprimer des programmes sur le Panneau de configuration pour les utilisateurs qui ont installé les applications.
Les raccourcis sont installés sur le profil Tous les utilisateurs.
Les raccourcis sont installés uniquement sur le profil de cet 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 Per-Machine (ALLUSERS=1) contexte d’installation Per-User (ALLUSERS=" »)
Windows Installer écrit ou supprime les valeurs de Registre entrées dans la table Registre et 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 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 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 table RemoveRegistry, avec la valeur msidbRegistryRootClassesRoot (0) dans la colonne Racine, sous HKCU\Software\Classes.
L’inscription COM est écrite dans HKLM\Software\Classes.
L’inscription COM est écrite dans HKCU\Software\Classes.

 

Redirection de dossiers

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

Note

Les dossiers sont identifiés par leurs constantes KNOWNFOLDERID et CSIDL. À compter de Windows Vista, les applications doivent utiliser la fonction SHGetKnownFolderPath et la KNOWNFOLDERID pour déterminer le chemin complet des dossiers spéciaux. Les applications existantes qui utilisent la fonction SHGetFolderPath et les ID d’éléments spéciaux constants (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 Per-Machine (ALLUSERS=1) contexte d’installation Per-User (ALLUSERS=" »)
DesktopFolderLe chemin complet du dossier Desktop pour tous les utilisateurs.
FOLDERID_PublicDesktop (CSIDL_COMMON_DESKTOPDIRECTORY)
DesktopFolderChemin d’accès complet du dossier Desktop pour l’utilisateur actuel.
FOLDERID_Desktop (CSIDL_DESKTOP, CSIDL_DESKTOPDIRECTORY)
ProgramMenuFolderChemin d’accès complet du dossier Menu Programme pour tous les utilisateurs.
FOLDERID_CommonPrograms (CSIDL_COMMON_PROGRAMS)
ProgramMenuFolderChemin d’accès complet du dossier Menu Programme pour l’utilisateur actuel.
FOLDERID_Programs (CSIDL_PROGRAMS)
StartMenuFolderLe chemin d’accès complet du dossier Menu Démarrer pour tous les utilisateurs.
FOLDERID_CommonStartMenu (CSIDL_COMMON_STARTMENU)
StartMenuFolderLe chemin d’accès complet du dossier Menu Démarrer pour l’utilisateur actuel.
FOLDERID_StartMenu (CSIDL_STARTMENU)
StartUpFolderLe chemin complet du dossier Start Up pour tous les utilisateurs.
FOLDERID_CommonStartup (CSIDL_COMMON_STARTUP)
StartUpFolderLe chemin d’accès complet du dossier Start Up pour l’utilisateur actuel.
FOLDERID_Startup (CSIDL_STARTUP)
TemplateFolderLe chemin complet du dossier Modèles pour tous les utilisateurs.
FOLDERID_CommonTemplates (CSIDL_COMMON_TEMPLATES)
TemplateFolderLe chemin d’accès complet du dossier Templates pour l’utilisateur actuel.
FOLDERID_Templates (CSIDL_TEMPLATES)
AdminToolsFolderLe chemin complet du dossier Outils d’administration pour tous les utilisateurs.
FOLDERID_CommonAdminTools (CSIDL_COMMON_ADMINTOOLS)
AdminToolsFolderLe chemin complet du dossier Outils d’administration pour l’utilisateur actuel.
FOLDERID_AdminTools (CSIDL_ADMINTOOLS)
AppDataFolderLe chemin d’accès complet du dossier Menu Programme.
Windows Vista et versions ultérieures : chemin d’accès complet du dossier Itinérance.

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

FOLDERID_RoamingAppData (CSIDL_APPDATA)
CommonAppDataFolderLe chemin d’accès complet du dossier qui contient des données d’application pour tous les utilisateurs.
FOLDERID_ProgramData (CSIDL_COMMON_APPDATA)
CommonAppDataFolderLe chemin d’accès complet du dossier qui contient des données d’application pour tous les utilisateurs.
FOLDERID_ProgramData (CSIDL_COMMON_APPDATA)
FavoritesFolderLe chemin complet du dossier Favoris de l’utilisateur actuel.
FOLDERID_Favorites (CSIDL_FAVORITES)
FavoritesFolderLe chemin complet du dossier Favoris de l’utilisateur actuel.
FOLDERID_Favorites (CSIDL_FAVORITES)
PersonalFolderLe chemin d’accès complet du dossier Mes documents ou du dossier Personnel de 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)
PersonalFolderLe chemin d’accès complet du dossier Mes documents ou du dossier Personnel de 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 complet du dossier Program Files 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 par tous les utilisateurs.
version 64 bits de Windows : La valeur de la propriété est le chemin complet du dossier Program Files (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 par tous les utilisateurs.
ProgramFilesFolderWindows Server 2008 R2 et Windows 7 : La valeur de la propriété est le chemin 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, et Windows Vista et versions antérieures : Dossier non compatible par utilisateur 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 par tous les utilisateurs.

CommonFilesFolderversion 32 bits de Windows : La valeur de la propriété est le chemin complet du dossier Common Files 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 par tous les utilisateurs.
version 64 bits de Windows : La valeur de la propriété est le chemin 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 par tous les utilisateurs.
CommonFilesFolderWindows Server 2008 R2 et Windows 7 : La valeur de la propriété est le chemin complet du dossier Commun de 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, et Windows Vista et versions antérieures : Dossier non compatible par utilisateur est disponible. Le chemin d’accès est le même que dans le contexte par ordinateur (par exemple, %ProgramFiles%\Common Files ou %ProgramFiles(x86)%\Common Files.) Les fichiers de ce dossier sont accessibles par tous les utilisateurs.

ProgramFiles64FolderLa valeur de la propriété est le chemin complet du dossier Program Files 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éfinis pour les composants 64 bits et s’applique aux systèmes 64 bits. Les fichiers de ce dossier sont accessibles par tous les utilisateurs.
ProgramFiles64FolderWindows Server 2008 R2 et Windows 7 : La valeur de la propriété est le chemin 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, et Windows Vista et versions antérieures : Dossier non compatible par utilisateur 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 par tous les utilisateurs.

CommonFiles64FolderLa valeur de la propriété est le chemin complet du dossier Common Files pour tous les utilisateurs (par exemple, %ProgramFiles%\Common Files.) Il s’agit du dossier prédéfinis 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 par tous les utilisateurs.
CommonFiles64FolderWindows Server 2008 R2 et Windows 7 : La valeur de la propriété est le chemin complet du dossier Commun de 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, et Windows Vista et versions antérieures : Dossier non compatible par utilisateur 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 par 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)
LocalAppDataFolderLe chemin d’accès complet du dossier qui contient des applications locales (non itinérantes).
FOLDERID_LocalAppData (CSIDL_LOCAL_APPDATA)
LocalAppDataFolderLe chemin d’accès complet du dossier qui contient des applications locales (non itinérantes).
FOLDERID_LocalAppData (CSIDL_LOCAL_APPDATA)
MyPicturesFolderLe chemin complet du dossier Images ou Mes images.
FOLDERID_Pictures (CSIDL_MYPICTURES)
MyPicturesFolderLe chemin complet du dossier Images ou Mes images.
FOLDERID_Pictures (CSIDL_MYPICTURES)
PrintHoodFolderLe chemin d’accès complet du dossier PrintHood.
FOLDERID_PrintHood (CSIDL_PRINTHOOD)
PrintHoodFolderLe chemin d’accès complet du dossier PrintHood.
FOLDERID_PrintHood (CSIDL_PRINTHOOD)
NetHoodFolderLe chemin complet du dossier NetHood.
FOLDERID_NetHood (CSIDL_NETHOOD)
NetHoodFolderLe chemin 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)

 

Note

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 fonctionsmsiGetProductInfoExou MsiGetProductInfo. Pour plus d’informations, consultez Détermination du contexte d’installation.