Freigeben über


MsiAssembly-Tabelle

Die MsiAssembly-Tabelle gibt Windows Installer-Einstellungen für Microsoft .NET Framework Assemblys und Win32-Assemblys an. Weitere Informationen dazu finden Sie unter Installation von Assemblys im globalen Assemblycache und Installation von Win32-Assemblys.

Unter Windows XP kann Windows Installer Win32-Assemblys als parallele Assemblys installieren. Weitere Informationen dazu finden Sie unter Parallele Assembly-API.

Windows 2000: Dieses Feature wird nicht unterstützt.

Die MsiAssembly-Tabelle enthält die folgenden Spalten.

Spalte Typ Schlüssel Nullwerte zulässig
Component_ Identifier J N
Feature_ Identifier N N
File_Manifest Identifier N J
File_Application Identifier N J
Attribute Integer N J

 

Spalten

Komponente_

Der Schlüssel in der Komponententabelle, der die Windows Installer-Komponente angibt, die diese Assembly enthält.

Der Wert in diesem Feld darf nicht auf NULL festgelegt werden. Das Element KeyPath-Feld in der Komponententabelle darf nicht NULL sein.

Bei Win32-Assemblys kann die Komponente KeyPath nicht die Manifestdatei sein, die in File_Manifest angegeben ist. Das Manifest kann der Schlüsselpfad für eine .NET Framework- oder Richtlinienassembly sein.

Feature_

Schlüssel in der Tabelle Feature.

Wenn die Assembly durch eine Featureinstallation installiert werden muss, installiert Windows Installer das Feature, auf das dieses Feld verweist.

File_Manifest

Ein externer Schlüssel in der Dateitabelle, der die Datei angibt, die das Manifest für eine .NET Framework- oder Win32-Assembly enthält.

Geben Sie für eine Win32-Assembly diese Datei nicht als Pfaddatei des Komponentenschlüssels im Feld KeyPath der Komponententabelle an.

File_Application

Um die Assembly an einem privaten Speicherort zu installieren, geben Sie die Schlüsselpfaddatei für die Assemblykomponente in dieses Feld ein.

Dies ist der Wert, der im Feld KeyPath der Komponententabelle angezeigt wird. Der Installer kann dann die Assembly in der Verzeichnisstruktur der Komponente installieren, die in der Verzeichnistabelle angegeben ist. Dieses Feld muss NULL sein, wenn die Assembly im globalen Assemblycache installiert werden soll.

Attribute

Geben Sie den Wert 1 (eins) für eine Win32-Assembly ein. Geben Sie den Wert 0 (null) für eine .NET Framework Assembly ein.

Wenn die Spalte Attribute NULL ist, behandelt der Installer die Assembly als .NET Framework Assembly.

Bemerkungen

Wenn mindestens ein Eintrag in der MsiAssembly-Tabelle vorhanden ist, muss die Tabelle InstallExecuteSequence die Aktion MsiPublishAssemblies und die Aktion MsiUnpublishAssemblies enthalten.

Da Assemblys nach dem Commit nicht zurückgesetzt werden können, verwendet Windows Installer einen zweistufigen Installationsprozess. Die Schnittstellen zu den Assemblys werden während der Installationsvorgänge erstellt, die von der Aktion MsiPublishAssemblies generiert werden.

Die Assemblys werden erst dann committet, wenn die Aktion InstallFinalize erfolgreich ausgeführt wurde. Wenn Sie also eine benutzerdefinierte Aktion oder Ressource erstellen, die von der Assembly abhängig ist, muss diese nach der Aktion InstallFinalize eingeordnet werden. Wenn Sie beispielsweise einen Dienst starten müssen, der von einer Assembly im globalen Assemblycache (GAC) abhängt, müssen Sie den Start dieses Diensts nach der Aktion InstallFinalize planen. Das bedeutet, dass Sie die Tabelle ServiceControl nicht verwenden können, um den Dienst zu starten. Stattdessen müssen Sie eine benutzerdefinierte Aktion verwenden, die nach InstallFinalize eingeplant wird.

Überprüfen

ICE03
ICE06
ICE32
ICE66
ICE83
ICE94