|
<< Click to Display Table of Contents >> RayPack > 8.0 > User Guide > Referenz und Kurzübersichten Active Setup |
Active Setup ist ein Mechanismus zur Ausführung von Befehlen einmal pro Benutzer zu Beginn der Anmeldung. Active Setup wird von einigen Betriebssystemkomponenten wie Internet Explorer verwendet, um eine anfängliche Konfiguration für neue Benutzer einzurichten, die sich zum ersten Mal anmelden. Active Setup wird auch in einigen unternehmensweiten Softwareverteilungssystemen verwendet, um eine erste angepasste Benutzerumgebung zu erstellen. Um zu verstehen, warum ein solcher Mechanismus notwendig ist, müssen wir einen Schritt zurückgehen.
Anwendungsprogramme verwenden zwei verschiedene Datentypen: computerspezifische Daten wie die Dateien im Installationsverzeichnis und benutzerspezifische Daten wie die Information, welches Dokument ein Benutzer zuletzt mit der Anwendung bearbeitet hat. Das Installieren computerspezifischer Daten ist einfach. Kopieren Sie sie einfach in C:\Program Files und HKEY_LOCAL_MACHINE, und die Installation ist abgeschlossen. Aber wie erhält man eine anfängliche Benutzerkonfiguration in ein Benutzerprofil? Das Schreiben in das Profil des Benutzers, der die Installation durchführt, hilft nicht, da wir die anfängliche Konfiguration für alle Benutzer benötigen, die sich am System anmelden.
Eine Lösung für dieses Problem ist Active Setup. Es verwendet sowohl computerspezifische als auch benutzerspezifische Daten. Der Computer-Teil besteht aus einer Liste von Komponenten, die jeweils durch eine GUID identifiziert werden. Der Benutzer-Teil ist im Wesentlichen ein Spiegel der Computerdaten, aber – und das ist der Kernpunkt – er existiert nicht in neuen Benutzerprofilen. Immer wenn sich ein Benutzer anmeldet, prüft Active Setup, ob die GUID jeder Komponente des Computer-Teils im Benutzer-Teil vorhanden ist. Wenn nicht, wird der Befehl der Komponente ausgeführt und die GUID der Komponente im Benutzer-Teil gespeichert. Wenn sie vorhanden ist, wurde das aktuelle Benutzerprofil bereits initialisiert und es sind keine weiteren Maßnahmen erforderlich.
Active Setup wird ausgeführt, bevor die Shell gestartet wird, d. h. bevor der Desktop erscheint. Von Active Setup gestartete Befehle werden synchron ausgeführt und blockieren die Anmeldung während ihrer Ausführung. Active Setup wird ausgeführt, bevor Run- oder RunOnce-Registrierungseinträge ausgewertet werden, da Run(Once) von der Shell Explorer.exe verarbeitet wird, die erst nach Abschluss von Active Setup gestartet wird.
|
Tipp: RayPack enthält ein gebrauchsfertiges Vorlagenbeispiel, das verwendet werden kann, um alle notwendigen ActiveSetup-Einträge automatisch einzurichten. Dieser erweiterte Abschnitt beschreibt Details zu den verwendeten Werten und Mechanismen. |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components
Dies ist der Stammschlüssel, der alle Active Setup-Elemente enthält. Die unten genannten Schlüssel und Werte befinden sich alle unterhalb dieses Stammschlüssels.
Ein Duplikat dieses Computerschlüssels existiert im Benutzerprofil.
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Active Setup\Installed Components
Dies ist der als „Benutzer-Teil" bekannte Active Setup-Schlüssel.
GUID
•Typ: Registrierungsschlüssel
•Für jede Komponente gibt es einen GUID-Schlüssel unterhalb des Stammschlüssels. Technisch muss es sich nicht um eine GUID handeln, aber GUIDs haben den Vorteil, eindeutig zu sein.
•Jede GUID repräsentiert eine Komponente, die von Active Setup verwaltet werden soll. Die Anzahl der Komponenten ist nicht begrenzt, und es können null, eine oder mehrere Komponenten pro Anwendung vorhanden sein. Die Anzahl der Komponenten hängt von der Anzahl der auszuführenden Befehle ab – pro Komponente ist nur ein Befehl möglich (siehe StubPath unten). Normalerweise wird die Eigenschaft ProductCode des MSI-Pakets als GUID verwendet, da diese garantiert eindeutig ist.
Default Value
•Typ: REG_SZ
•Optionaler Name der Komponente. Wenn hier ein Name gespeichert ist, wird er im Active Setup-Benutzeroberflächendialog angezeigt, wenn der Befehl der Komponente ausgeführt wird. Es empfiehlt sich, hier die Eigenschaft ProductName zu verwenden, da diese leicht erkennbar ist.
IsInstalled
•Typ: REG_DWORD
•Mögliche Werte:
0: Der Befehl der Komponente wird nicht ausgeführt.
1: Der Befehl der Komponente wird einmal pro Benutzer ausgeführt. Dies ist der Standard (wenn der IsInstalled-Wert nicht vorhanden ist).
Locale
•Typ: REG_SZ
•Eine beliebige Zeichenfolge, die die Installationssprache der Komponente angibt. Wenn diese Zeichenfolge entweder nicht im Benutzer-Teil gefunden wird oder sich vom Computer-Teil unterscheidet, wird die Komponente ausgeführt. Beachten Sie, dass Active Setup keine Einschränkungen für die Art dieser Zeichenfolge vorschreibt. Sie könnten ebenso gut „abc" wie „de" oder „en" verwenden. Nach der Ausführung wird die Versionsnummer in den Benutzer-Teil kopiert. Es empfiehlt sich, hier ein „Sternchen" (*) zu verwenden.
StubPath
Typ: REG_SZ oder REG_EXPAND_SZ
•Format: Jede gültige Befehlszeile, z. B. „notepad"
•Dies ist der Befehl, der ausgeführt wird, wenn Active Setup feststellt, dass diese Komponente während der Anmeldung ausgeführt werden muss. Normalerweise enthält der StubPath bei MSI-Paketen die ausführbare Datei der MSI-Engine, die Eigenschaft ProductCode des MSI-Pakets und alle Befehlszeilen, die die MSI-Engine benötigt. Zum Beispiel, msiexec.exe /Fpums [ProductCode] /Qn
|
Hinweis: Die Eigenschaft [ProductCode] würde durch die MSI-Engine bei der Installation durch die korrekte Eigenschaft ProductCode des MSI-Pakets ersetzt werden. |
Version
•Typ: REG_SZ
•Format: Vier durch Kommas getrennte Zahlen, z. B.: 1,2,3,4 (Punkte funktionieren nicht)
•Wenn ein Versionswert vorhanden ist, wird der Befehl der Komponente nur ausgeführt, wenn die entsprechende Version im Benutzer-Teil kleiner ist oder nicht vorhanden ist. Nach der Ausführung wird die Versionsnummer in den Benutzer-Teil kopiert. Wenn Sie möchten, dass der Befehl einer Komponente erneut ausgeführt wird, müssen Sie die Versionsnummer erhöhen. Genau das machen Windows-Updates, z. B. wenn Sie Internet Explorer 8 auf einem Computer installieren, auf dem zuvor nur IE7 vorhanden war. Durch Erhöhung der Versionsnummer ist garantiert, dass die anfängliche Benutzerkonfiguration erneut ausgeführt wird.
Active Setup verwendet weder einen Timeout noch einen anderen Mechanismus, um festzustellen, ob ein von ihm gestarteter StubPath-Prozess noch aktiv ist. Das bedeutet, dass es sehr leicht ist, sich selbst ein Bein zu stellen: Wenn ein von Active Setup gestarteter Prozess hängt, hängt auch Active Setup, und es gibt in der Regel keine einfache Möglichkeit, die Situation zu beheben, außer den großen roten Netzschalter zu betätigen. Daher ist es ratsam, die Implementierung aller Pakete, die Active Setup verwenden, gründlich zu testen, um Probleme beim Einsatz des Pakets zu vermeiden.
Originaltext von Helge Klein