Installationskontext

Windows Das Installationsprogramm kann ein Paket auf einem Computer in zwei Installationskontexten installieren: pro Computer und pro Benutzer. Eine computerspezifische Installation des Pakets ist erforderlich, damit alle Benutzer des Computers auf die Anwendung zugreifen und diese verwenden können. Da bei einer Computerinstallation Änderungen am System vorgenommen werden, die sich auf alle Benutzer auswirken, können Standardbenutzer mit eingeschränkten Berechtigungen daran gehindert werden, ein Paket im Kontext pro Computer zu installieren, ohne zuerst die Berechtigung zu erhalten.

Sie können den Installationskontext angeben, indem Sie das Paket für die Installation pro Benutzer oder pro Computer erstellen und die Eigenschaften ALLUSERS und MSIINSTALLPERUSER verwenden. Basierend auf diesen Eigenschaften leitet Windows Installer die Werte von Ordnereigenschaften und Registrierungen automatisch an Speicherorte für den Benutzer- oder Computerkontext um.

Hinweis

Die MSIINSTALLPERUSER-Eigenschaft, die ab Windows Installer 5.0 und Windows Server 2008 R2 und Windows 7 verfügbar ist, kann die Entwicklung eines einzelnen Pakets erleichtern, das im Kontext pro Computer oder pro Benutzer installiert werden kann. Informationen zum Entwickeln eines Dual-Purpose-Pakets, das dem Benutzer die Möglichkeit gibt, den Installationskontext zur Installationszeit zu wählen, finden Sie unter Erstellen eines einzelnen Pakets. Windows Das Installationsprogramm ignoriert die MSIINSTALLPERUSER-Eigenschaft, wenn der Wert von ALLUSERS nicht 2 ist. Windows Das Installationsprogramm setzt den Wert von ALLUSERS immer auf 1 zurück, wenn es im Kontext pro Computer installiert wird, und setzt den Wert von ALLUSERS auf eine leere Zeichenfolge ("") zurück, wenn es im Benutzerkontext installiert wird.

Verknüpfungsumleitung

In der folgenden Tabelle werden die Speicherorte von Verknüpfungen für den Installationskontext pro Computer und pro Benutzer verglichen.

Per-Machine Installationskontext (ALLUSERS=1) Per-User Installationskontext (ALLUSERS="")
Anwendungen werden unter Programme hinzufügen/entfernen auf Systemsteuerung für alle Benutzer des Computers angezeigt.
Anwendungen werden nur unter Programme hinzufügen/entfernen auf Systemsteuerung Benutzer angezeigt, die die Anwendungen installiert haben.
Verknüpfungen werden für das Profil Alle Benutzer installiert.
Verknüpfungen werden nur für das Profil dieses Benutzers installiert.
Symbole und Transformationen werden in %WINDOWS% \ Installer \ {ProductCode} gespeichert.
Symbole und Transformationen werden in %USERPROFILE% \ Application Data Microsoft Installer \ \ \ {ProductCode GUID} gespeichert.

Registrierungsumleitung

In der folgenden Tabelle werden die Speicherorte von Registrierungseinträgen für die Installationskontexte pro Computer und Benutzer verglichen.

Per-Machine Installationskontext (ALLUSERS=1) Per-User Installationskontext (ALLUSERS="")
Windows Das Installationsprogramm schreibt oder entfernt registrierungswerte, die in die Tabelle Registry und RemoveRegistry eingegeben wurden, mit dem Wert -1 in der Spalte Root unter HKEY _ LOCAL _ MACHINE.
Windows Das Installationsprogramm schreibt oder entfernt registrierungswerte, die in die Tabelle Registry und RemoveRegistry eingegeben wurden, mit dem Wert -1 in der Spalte Root unter HKEY _ CURRENT _ USER.
Windows Das Installationsprogramm schreibt oder entfernt die in der Registrierungstabelle und der RemoveRegistry-Tabelle eingegebenen Registrierungswerte mit dem Wert msidbRegistryRootClassesRoot (0) in der Spalte Root unter HKLM \ Software \ Classes.
Windows Das Installationsprogramm schreibt oder entfernt in der Registrierungstabelle und der RemoveRegistry-Tabelle eingegebene Registrierungswerte mit dem Wert msidbRegistryRootClassesRoot (0) in der Spalte Root unter HKCU \ Software \ Classes.
Die COM-Registrierung wird in die HKLM-Softwareklassen \ \ geschrieben.
Die COM-Registrierung wird in die HKCU-Softwareklassen \ \ geschrieben.

Ordnerumleitung

Windows Das Installationsprogramm legt die Werte der Ordnereigenschaften auf den vollständigen Pfad des jeweiligen Ordners für den Installationskontext fest.

Hinweis

Ordner werden durch ihre KNOWNFOLDERID- und CSIDL-Konstanten identifiziert. Ab Windows Vista sollten Anwendungen die SHGetKnownFolderPath-Funktion und die KNOWNFOLDERID verwenden, um den vollständigen Pfad zu den speziellen Ordnern zu bestimmen. Vorhandene Anwendungen, die die SHGetFolderPath-Funktion und konstanten speziellen Element-IDs (CSIDL)verwenden, funktionieren weiterhin.

In der folgenden Tabelle werden die Speicherorte von Ordnern verglichen, die verwendet werden, wenn Windows Installer das Paket im Installationskontext pro Computer oder pro Benutzer installiert.

Per-Machine Installationskontext (ALLUSERS=1) Per-User Installationskontext (ALLUSERS="")
DesktopFolder Der vollständige Pfad des Desktopordners für alle Benutzer.
FOLDERID _ PublicDesktop (CSIDL _ COMMON _ DESKTOPDIRECTORY)
DesktopFolder Der vollständige Pfad des Desktopordners für den aktuellen Benutzer.
FOLDERID _ Desktop (CSIDL _ DESKTOP, CSIDL _ DESKTOPDIRECTORY)
ProgramMenuFolder Der vollständige Pfad des Ordners Programmmenü für alle Benutzer.
FOLDERID _ CommonPrograms (CSIDL _ COMMON _ PROGRAMS)
ProgramMenuFolder Der vollständige Pfad des Ordners Programmmenü für den aktuellen Benutzer.
FOLDERID _ Programme (CSIDL-PROGRAMME _)
StartMenuFolder Der vollständige Pfad des Ordners Startmenü für alle Benutzer.
FOLDERID _ CommonStartMenu (CSIDL _ COMMON _ STARTMENU)
StartMenuFolder Der vollständige Pfad des Ordners Startmenü für den aktuellen Benutzer.
FOLDERID _ StartMenu (CSIDL _ STARTMENU)
StartUpFolder Der vollständige Pfad des Ordners Start für alle Benutzer.
FOLDERID _ CommonStartup (CSIDL _ COMMON _ STARTUP)
StartUpFolder Der vollständige Pfad des Ordners Start für den aktuellen Benutzer.
FOLDERID _ Startup (CSIDL _ STARTUP)
TemplateFolder Der vollständige Pfad des Ordners Vorlagen für alle Benutzer.
FOLDERID _ CommonTemplates (CSIDL _ COMMON _ TEMPLATES)
TemplateFolder Der vollständige Pfad des Ordners Vorlagen für den aktuellen Benutzer.
FOLDERID _ Vorlagen (CSIDL _ TEMPLATES)
AdminToolsFolder Der vollständige Pfad des Ordners "Admin Tools" für alle Benutzer.
FOLDERID _ CommonAdminTools (CSIDL _ COMMON _ ADMINTOOLS)
AdminToolsFolder Der vollständige Pfad des Ordners "Admin Tools" für den aktuellen Benutzer.
FOLDERID _ AdminTools (CSIDL _ ADMINTOOLS)
AppDataFolder Der vollständige Pfad des Ordners "Programmmenü".
Windows Vista und höher: Der vollständige Pfad des Roamingordners.

FOLDERID _ RoamingAppData (CSIDL _ APPDATA)
AppDataFolder Der vollständige Pfad des Ordners "Programmmenü".
Windows Vista und höher: Der vollständige Pfad des Roamingordners.

FOLDERID _ RoamingAppData (CSIDL _ APPDATA)
CommonAppDataFolder Der vollständige Pfad des Ordners, der Anwendungsdaten für alle Benutzer enthält.
FOLDERID _ ProgramData (CSIDL _ COMMON _ APPDATA)
CommonAppDataFolder Der vollständige Pfad des Ordners, der Anwendungsdaten für alle Benutzer enthält.
FOLDERID _ ProgramData (CSIDL _ COMMON _ APPDATA)
FavoritenOrdner Der vollständige Pfad des Ordners Favoriten für den aktuellen Benutzer.
FOLDERID _ Favoriten (CSIDL _ FAVORITES)
FavoritenOrdner Der vollständige Pfad des Ordners Favoriten für den aktuellen Benutzer.
FOLDERID _ Favoriten (CSIDL _ FAVORITES)
PersonalFolder Der vollständige Pfad des Eigene Dokumente Ordners oder persönlichen Ordners für den aktuellen Benutzer.
Windows Vista und höher: Der vollständige Pfad des Ordners Dokumente für den aktuellen Benutzer.

FOLDERID _ Dokumente (CSIDL _ PERSONAL)
PersonalFolder Der vollständige Pfad des Eigene Dokumente Ordners oder persönlichen Ordners für den aktuellen Benutzer.
Windows Vista und höher: Der vollständige Pfad des Ordners Dokumente für den aktuellen Benutzer.

FOLDERID _ Dokumente (CSIDL _ PERSONAL)
SendToFolder Der vollständige Pfad des Ordners SendTo.
FOLDERID _ SendTo (CSIDL _ SENDTO)
SendToFolder Der vollständige Pfad des Ordners SendTo.
FOLDERID _ SendTo (CSIDL _ SENDTO)
FontsFolder Der vollständige Pfad des Ordners Systemschriftarten.
FOLDERID _ Schriftarten (CSIDL-SCHRIFTARTEN _)
FontsFolder Der vollständige Pfad des Ordners Systemschriftarten.
FOLDERID _ Schriftarten (CSIDL-SCHRIFTARTEN _)
ProgramFilesFolder32-Bit-Version von Windows: Der Eigenschaftswert ist der vollständige Pfad zum Ordner Programme für alle Benutzer (z.B. %ProgramFiles%.). Der Bezeichner für diesen Ordner ist FOLDERID _ ProgramFiles (CSIDL _ PROGRAM _ FILES.) Die Bezeichner FOLDERID _ ProgramFiles und FOLDERID _ ProgramFilesX86 stellen denselben Ordner dar. Auf Dateien in diesem Ordner kann von allen Benutzern zugegriffen werden.
64-Bit-Version Windows: Der Eigenschaftswert ist der vollständige Pfad zum Ordner Programme (x86) für alle Benutzer (z.B. %ProgramFiles(x86)%.). Der Bezeichner für diesen Ordner ist FOLDERID _ ProgramFilesX86 (CSIDL _ PROGRAM _ FILESX86.) Auf Dateien in diesem Ordner kann von allen Benutzern zugegriffen werden.
ProgramFilesFolderWindows Server 2008 R2 und Windows 7: Der Eigenschaftswert ist der vollständige Pfad des Ordners Programme für den aktuellen Benutzer (z. B. %LocalAppData%-Programme). \ Der Bezeichner für diesen Ordner ist FOLDERID _ UserProgramFiles auf 32-Bit- und 64-Bit-Systemen. Es gibt keinen entsprechenden CSIDL-Bezeichner für FOLDERID _ UserProgramFiles. Auf Dateien in diesem Ordner kann nur der Benutzer zugreifen, der diesen Ordner installiert hat.
Windows Server 2008 und früher sowie Windows Vista und früher: Es ist kein benutzerfähiger Ordner verfügbar. Der Pfad ist identisch mit für den Computerkontext (z. B. %ProgramFiles% oder %ProgramFiles(x86)%.). Auf Dateien in diesem Ordner kann von allen Benutzern zugegriffen werden.

CommonFilesFolder32-Bit-Version von Windows: Der Eigenschaftswert ist der vollständige Pfad zum Ordner Common Files für alle Benutzer (z.B. %ProgramFiles% Common \ Files). Der Bezeichner für diesen Ordner ist FOLDERID _ ProgramFilesCommon (CSIDL _ PROGRAM FILES _ _ COMMON.) Die Bezeichner FOLDERID _ ProgramFilesCommon und FOLDERID _ ProgramFilesCommonX86 stellen denselben Ordner dar. Auf Dateien in diesem Ordner kann von allen Benutzern zugegriffen werden.
64-Bit-Version Windows: Der Eigenschaftswert ist der vollständige Pfad zum Ordner Common Files für alle Benutzer (z.B. %ProgramFiles(x86)% \ Common Files). Der Bezeichner für diesen Ordner ist FOLDERID _ ProgramFilesCommonX86 (CSIDL _ PROGRAM FILES _ _ COMMONX86.) Auf Dateien in diesem Ordner kann von allen Benutzern zugegriffen werden.
CommonFilesFolderWindows Server 2008 R2 und Windows 7: Der Eigenschaftswert ist der vollständige Pfad des Ordners Common für den aktuellen Benutzer (z.B. %LocalAppData% \ Programs \ Common). Der Bezeichner für diesen Ordner ist FOLDERID _ UserProgramFilesCommon auf 32-Bit- und 64-Bit-Systemen. Es gibt keinen entsprechenden CSIDL-Bezeichner für FOLDERID _ UserProgramFilesCommon. Auf Dateien in diesem Ordner kann nur der Benutzer zugreifen, der diesen Ordner installiert hat.
Windows Server 2008 und früher sowie Windows Vista und früher: Es ist kein benutzerfähiger Ordner verfügbar. Der Pfad ist identisch mit im Computerkontext (z. B. %ProgramFiles% Common Files oder \ %ProgramFiles(x86)% \ Common Files). Auf Dateien in diesem Ordner kann von allen Benutzern zugegriffen werden.

ProgramFiles64Folder Der Eigenschaftswert ist der vollständige Pfad zum Ordner Programme für alle Benutzer (z.B. %ProgramFiles%.). Der Bezeichner für diesen Ordner ist FOLDERID _ ProgramFilesX64. Es gibt keinen äquivalenten CSIDL-Bezeichner zu FOLDERID _ ProgramFilesX64. Dies ist der vordefinierte Ordner für 64-Bit-Komponenten und gilt für 64-Bit-Systeme. Auf Dateien in diesem Ordner kann von allen Benutzern zugegriffen werden.
ProgramFiles64FolderWindows Server 2008 R2 und Windows 7: Der Eigenschaftswert ist der vollständige Pfad des Ordners Programme für den aktuellen Benutzer (z. B. %LocalAppData%-Programme). \ Der Bezeichner für diesen Ordner ist FOLDERID _ UserProgramFiles. Es gibt keinen entsprechenden CSIDL-Bezeichner für FOLDERID _ UserProgramFiles. Auf Dateien in diesem Ordner kann nur der Benutzer zugreifen, der diesen Ordner installiert hat.
Windows Server 2008 und früher sowie Windows Vista und früher: Es ist kein benutzerfähiger Ordner verfügbar. Der Pfad ist identisch mit für den Computerkontext (z. B. %ProgramFiles%.). Auf Dateien in diesem Ordner kann von allen Benutzern zugegriffen werden.

CommonFiles64Folder Der Eigenschaftswert ist der vollständige Pfad zum Ordner Common Files für alle Benutzer (z.B. %ProgramFiles% \ Common Files). Dies ist der vordefinierte Ordner für 64-Bit-Komponenten und gilt für 64-Bit-Systeme. Der Bezeichner für diesen Ordner ist FOLDERID _ ProgramFilesCommonX64. Es gibt keinen äquivalenten CSIDL-Bezeichner zu FOLDERID _ ProgramFilesCommonX64. Auf Dateien in diesem Ordner kann von allen Benutzern zugegriffen werden.
CommonFiles64FolderWindows Server 2008 R2 und Windows 7: Der Eigenschaftswert ist der vollständige Pfad des Ordners Common für den aktuellen Benutzer (z.B. %LocalAppData% \ Programs \ Common). Der Bezeichner für diesen Ordner ist FOLDERID _ UserProgramFilesCommon. Es gibt keinen entsprechenden CSIDL-Bezeichner für FOLDERID _ UserProgramFilesCommon. Auf Dateien in diesem Ordner kann nur der Benutzer zugreifen, der diesen Ordner installiert hat.
Windows Server 2008 und früher sowie Windows Vista und früher: Es ist kein benutzerfähiger Ordner verfügbar. Der Pfad ist identisch mit für den Computerkontext (z. B. %ProgramFiles% \ Common Files). Auf Dateien in diesem Ordner kann von allen Benutzern zugegriffen werden.

WindowsFolder Der vollständige Pfad des Windows Ordners.
FOLDERID _ Windows (CSIDL _ WINDOWS)
WindowsFolder Der vollständige Pfad des Windows Ordners.
FOLDERID _ Windows (CSIDL _ WINDOWS)
SystemFolder Der vollständige Pfad des Ordners System.
FOLDERID _ SystemX86 (CSIDL _ SYSTEMX86)
SystemFolder Der vollständige Pfad des Ordners System.
FOLDERID _ SystemX86 (CSIDL _ SYSTEMX86)
LocalAppDataFolder Der vollständige Pfad des Ordners, der lokale (nichtroaming) Anwendungen enthält.
FOLDERID _ LocalAppData (CSIDL _ LOCAL _ APPDATA)
LocalAppDataFolder Der vollständige Pfad des Ordners, der lokale (nichtroaming) Anwendungen enthält.
FOLDERID _ LocalAppData (CSIDL _ LOCAL _ APPDATA)
MyPicturesFolder Der vollständige Pfad des Ordners Bilder oder Meine Bilder.
FOLDERID _ Bilder (CSIDL _ MYPICTURES)
MyPicturesFolder Der vollständige Pfad des Ordners Bilder oder Meine Bilder.
FOLDERID _ Bilder (CSIDL _ MYPICTURES)
PrintHoodFolder Der vollständige Pfad des Ordners PrintHood.
FOLDERID _ PrintHood (CSIDL _ PRINTHOOD)
PrintHoodFolder Der vollständige Pfad des Ordners PrintHood.
FOLDERID _ PrintHood (CSIDL _ PRINTHOOD)
NetHoodFolder Der vollständige Pfad des Ordners NetHood.
FOLDERID _ NetHood (CSIDL _ NETHOOD)
NetHoodFolder Der vollständige Pfad des Ordners NetHood.
FOLDERID _ NetHood (CSIDL _ NETHOOD)
RecentFolder Der vollständige Pfad des Ordners Zuletzt erstellt.
FOLDERID _ Recent (CSIDL _ RECENT)
RecentFolder Der vollständige Pfad des Ordners Zuletzt erstellt.
FOLDERID _ Recent (CSIDL _ RECENT)

Hinweis

Eine Anwendung kann die MsiEnumProducts- oder MsiEnumProductsEx-Funktionen aufrufen, um alle auf dem System installierten Produkte aufzählen. Die Anwendung kann dann Informationen zum Installationskontext dieser Produkte abrufen, indem sie die Funktionen MsiGetProductInfoEx oder MsiGetProductInfo aufruft. Weitere Informationen finden Sie unter Bestimmen des Installationskontexts.