DetailPage-MSS-KB

Knowledge Base

Artikel-ID: 306439 - Geändert am: Sonntag, 23. Juli 2006 - Version: 4.0

 

Zusammenfassung

Eine geschachtelte Installation Aktion installiert einer anderen Windows Installer-Paket während einer derzeit ausgeführten Installation. Dieser Artikel veranschaulicht, wie ein Paket erstellen, die eine geschachtelte Installation durchführt.

Weitere Informationen

Sie können eine geschachtelte Installation zu einem Paket hinzufügen, indem eine geschachtelte Installation Aktion in CustomAction -Tabelle erstellen und Planen dieser benutzerdefinierten Aktion in die Tabellen Sequenz. Das Feld Ziel der CustomAction -Tabelle enthält eine Zeichenfolge von Öffentliche Eigenschaft-Einstellungen, die durch die geschachtelte Installation verwendet werden. Das Feld Quelle der Tabelle CustomAction identifiziert das geschachtelte Paket. Eine geschachtelte Installation Aktion kann nur neu installieren oder Entfernen einer Anwendung, die von der aktuellen Anwendung Installation Paket installiert wurde.

Der Typ des geschachtelten Installation Aktion wird im Feld Typ der CustomAction -Tabelle angegeben. Abhängig vom Typ benutzerdefinierte Aktion kann das Paket für die geschachtelte Anwendung in "Unterspeicher" des Haupt-Pakets als einer Datei an einem Speicherort nach einer Eigenschaft oder als eine angekündigte Anwendung auf dem Computer des Benutzers befinden.
Tabelle minimierenTabelle vergrößern
Benutzerdefinierte Aktion TypBeschreibung
Benutzerdefinierte Aktion Typ 7Geschachtelte Installation eines Produkts in das Installationspaket.
Benutzerdefinierte Aktion Typ 23Geschachtelte Installation von einem Installationspaket innerhalb der aktuellen Quellstruktur.
Benutzerdefinierte Aktion Typ 39Geschachtelte Installation eine angekündigte Installer-Paket.
Der folgende Code ist ein Beispiel zum Erstellen von einem Typ 7 geschachtelte Installation benutzerdefinierten Aktion. Im Beispiel wird verwendet, ein Tool namens Orca (dieses Tool ist mit dem Windows Installer SDK verpackt) das MSI-Paket zu bearbeiten, da Visual Studio Installer kann nicht erstellt, geschachtelte Installation benutzerdefinierte Aktionen. (Weitere Informationen zu Orca, finden Sie unter dem Abschnitt "Informationsquellen"). Die geschachtelte Installation umfasst zwei MSI-Pakete. Das folgende Beispiel verwendet Basic.msi als übergeordnete MSI-Paket und Nest.msi als verschachtelte MSI-Pakets.
  1. Verwenden Sie das Msidb-Tool (dieses Tool ist mit dem Windows Installer SDK verpackt), um das Paket Nest.msi als "Unterspeicher" der Datei Basic.msi hinzufügen. Die Befehlszeile lautet:
    Msidb -d Basic.msi-r Nest.msi
    Dadurch wird Nest.msi in der Datei Basic.msi als Unterspeicher hinzugefügt. Keine Dialogfeld wird angezeigt, um zu bestätigen, dass diese erfolgreich war, die Dateigröße für Basic.msi erhöht jedoch.

    Hinweis: Sie können keine Nest.msi als Unterspeicher hinzufügen, indem mithilfe der binären Tabelle im Orca. Wenn Sie eine Datei zu einem MSI über die binäre Tabelle hinzufügen, wird die Datei als einen binären Stream nicht als Unterspeicher hinzugefügt. Der binäre Tabelle hinzugefügte Dateien können nicht nach der Quellspalte der CustomAction Tabelle verwiesen werden.
  2. Verwenden Sie Orca, um Basic.msi zu öffnen. Suchen Sie die CustomAction -Tabelle, und geben Sie die Informationen für benutzerdefinierte Aktion. Wenn Sie alle öffentlichen Eigenschaften, die dem verschachtelten Paket übergeben müssen, können Sie das Feld Ziel für diese. Werden zwei benutzerdefinierte Aktionen, eine für die Installation und eine für die Deinstallation (, verfügt über ein Ziel "REMOVE = ALL"). Dies ist ein Beispiel CustomAction -Tabelle:
    Tabelle minimierenTabelle vergrößern
    AktionTypQuelleZiel
    InstallNest7Nest.msi
    UnInstallNest7Nest.msiENTFERNEN SIE ALLE =
  3. Planen Sie die benutzerdefinierten Aktion in der Tabelle "InstallExecuteSequence" . Bedingte Anweisungen für die Installation und Deinstallation Aktionen in der Tabelle "InstallExecuteSequence" sind vorhanden. Die Bedingung wird für die Installation einer Komponente verbinden (> 2) und deinstallieren (< = 2). Sie könnte auch diese Aktionen, die ein Feature oder eine andere Eigenschaft binden. Der geschachtelte Installation benutzerdefinierten Aktion muss vor platziert werden InstallFinalize . Wenn Sie eine Komponente oder eine Funktion als Bedingung verwenden, muss benutzerdefinierte Aktion nach CostFinalize platziert werden. Der folgende Code ist ein Beispiel "InstallExecuteSequence" wird vorausgesetzt, dass eine Komponente im Basic.msi vorhanden ist "Comp_1" und Bedingungen auf die geschachtelte Installation basierend auf den Zustand des Comp_1 bezeichnet):
    Tabelle minimierenTabelle vergrößern
    AktionZustandSequenz
    InstallNest$ Comp_1 > 23110
    UnInstallNest$ Comp_1 < = 23120
Obwohl Sie eine verschachtelte MSI-Installation erstellen können, gibt es Nachteile, diese Vorgehensweise. Diese Nachteile gehören:
  • Geschachtelte Installationen können Komponenten nicht freigeben.
  • Eine administrative Installation darf keine geschachtelte Installation enthalten.
  • Patchen und aktualisieren funktioniert nicht mit geschachtelten Installationen.
  • Das Installationsprogramm kostet eine geschachtelte Installation nicht korrekt.
  • Integrierte ProgressBars kann nicht mit geschachtelten Installationen verwendet werden.
  • Ressourcen, die angekündigt werden können nicht durch die geschachtelte Installation installiert werden.
  • Ein Paket, das eine geschachtelte Installation einer Anwendung führt sollten auch die geschachtelte Anwendung deinstallieren, wenn das übergeordnete Produkt deinstalliert wird.

Informationsquellen

Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
255905  (http://support.microsoft.com/kb/255905/ ) Wie Sie den Orca-Datenbank-Editor, um Windows Installer-Dateien bearbeiten

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Windows Installer 1.1
  • Microsoft Windows Installer 1.2
  • Microsoft Windows Installer 2.0
Keywords: 
kbmt kbhowto KB306439 KbMtde
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 306439  (http://support.microsoft.com/kb/306439/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Zurückgezogener KB-ArtikelDisclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.
Freigeben
Weitere Supportoptionen
Microsoft Community-Supportforen
Kontaktieren Sie uns direkt
Zertifizierten Partner finden
Microsoft Store
Folgen Sie uns: