Installieren von Win32-Assemblys für die private Verwendung einer Anwendung unter Windows XP

In diesem Thema erfahren Sie, wie Sie ein Windows Installer-Paket zur Installation einer Win32-Assembly erstellen. Das Paket installiert die Assembly und eine Anwendungsmanifestdatei in einem von der Anwendung verwendeten Ordner. Das Anwendungsmanifest gibt an, inwieweit die Anwendung von der privaten Assembly abhängig ist. Nach der Installation des Pakets steht die private Assembly für die ausschließliche Verwendung durch die Anwendung zur Verfügung. Die im Anwendungsmanifest angegebene Assemblyabhängigkeit hat (für diese Anwendung) Vorrang vor allen weiteren globalen Assemblyabhängigkeiten, die in Assemblymanifestdateien angegeben sind.

Bevor Sie fortfahren, sollten Sie wissen, wie Sie ein Windows Installer-Paket ohne Assemblys erstellen können. Weitere Informationen finden Sie unter Beispiel für eine Installation.

So installieren Sie eine private Assembly unter Windows XP

  1. Definieren Sie eine Windows Installer-Komponente, die die Win32-Assembly und die Anwendungsmanifestdatei enthält. Diese Komponente kann weitere Ressourcen enthalten, die stets mit der Assembly installiert oder entfernt werden sollten. In den verbleibenden Schritten dieses Verfahrens wird beschrieben, wie Sie die Installationsdatenbank erstellen, um diese Komponente zu installieren.
  2. Fügen Sie der Component-Tabelle eine Zeile für die Komponente hinzu, in der sich die Win32-Assembly und die Anwendungsmanifestdatei befinden. Geben Sie eine gültige Windows Installer-GUID für diesen Komponentencode ein. Weitere Informationen finden Sie unter Ändern des Komponentencodes und Was geschieht bei einer Verletzung der Komponentenregeln?
  3. Der Installer kopiert die Manifestdatei der Assembly in den Ordner, der die im Feld „File_Application“ der MsiAssembly-Tabelle angegebene Datei enthält.
  4. Fügen Sie der FeatureComponents-Tabelle eine Zeile hinzu, die die Komponente an ein Windows Installer-Feature bindet. Weitere Informationen finden Sie unter Komponenten und Features. Ein Windows Installer-Feature sollte eine Anwendungsfunktion sein, die von den Benutzer*innen erkannt werden kann. Die Assembly wird aktiviert, wenn dieses Feature von einem Benutzer ausgewählt oder von einer Anwendung geladen wurde. Wenn die Assembly ein zusätzliches Feature definiert, fügen Sie der Feature-Tabelle eine zusätzliche Zeile für die Featureattribute hinzu. Dieser Schritt ist beim Erstellen eines Mergemoduls nicht erforderlich.
  5. Für parallele Assemblys werden die Bindungs- und Aktivierungsinformationen, z. B. COM-Klassen, Schnittstellen und Typbibliotheken, in Manifestdateien und nicht in der Registrierung gespeichert. Private Assemblys speichern diese Informationen in einem Assemblymanifest. Auf Systemen mit Unterstützung für parallele Assemblys überspringt der Installer die Verarbeitung von Informationen zur Komponente, die in die Tabellen Extension, Verb, TypeLib, MIME, Class, ProgId und AppId eingegeben wurden. Bindungs- und Aktivierungsinformationen können in die Tabellen eingegeben werden, damit sie von Systemen ohne Unterstützung für die gemeinsame Nutzung paralleler Assemblys verwendet werden können.
  6. Bei der parallelen Installation wird die Assembly nicht global registriert. Der Installer überspringt die Selbstregistrierung der Komponente, wenn in der SelfReg-Tabelle Informationen zur Selbstregistrierung enthalten sind. Informationen zur Selbstregistrierung können in die SelfReg-Tabelle eingegeben werden, damit die Komponente auf Systemen ohne Unterstützung der gemeinsamen Nutzung von parallelen Assemblys eine Selbstregistrierung durchführen kann.
  7. Fügen Sie den Tabellen Registry, RemoveRegistry und Environment beliebige weitere Registrierungsinformationen hinzu, mit Ausnahme von Informationen zu Bindung, Aktivierung oder Selbstregistrierung der Komponente.
  8. Der Installer überspringt die IsolatedComponent-Tabelle für diese Komponente auf Betriebssystemen, die eine parallele gemeinsame Nutzung unterstützen. Geben Sie Informationen in diese Tabelle ein, wenn Sie möchten, dass die Assembly auf Systemen mit Unterstützung lokaler Dateien als privat definiert wird.
  9. Fügen Sie der MsiAssembly-Tabelle eine Zeile für die Komponente hinzu, die die Win32-Assembly enthält. Geben Sie in das Attributfeld der MsiAssembly-Tabelle den Wert 1 ein, um anzugeben, dass es sich um eine Win32-Assembly handelt. Geben Sie den Dateischlüssel der privaten Assembly in das Feld „File_Application“ der MsiAssembly-Tabelle ein. Fügen Sie die Aktion MsiPublishAssemblies zur InstallExecuteSequence-Tabelle oder zur AdvtExecuteSequence-Tabelle hinzu. Fügen Sie die Aktion MsiUnpublishAssemblies in die InstallExecuteSequence-Tabelle ein. Erstellen Sie in der Directory-Tabelle einen Ordner für die Assembly- und Manifestdatei. Dieser Ordner sollte sich im Stammverzeichnis der Anwendung befinden und die im Feld „File_Application“ der MsiAssembly-Tabelle angegebene Datei enthalten. Während der Installation der Anwendung löst der Installer die Directory-Tabelle für den Pfad zu diesem Ordner auf. Weitere Informationen finden Sie unter Verwenden der Directory-Tabelle.
  10. Fügen Sie Zeilen zur MsiAssemblyName-Tabelle für die Komponente hinzu. Fügen Sie eine Zeile für jedes Name-Wert-Paar hinzu, das im Abschnitt „assemblyIdentity“ des Manifests angegeben ist. Weitere Informationen finden Sie unter MsiAssemblyName-Tabelle.