(0) exportieren Drucken
Alle erweitern
1 von 1 fanden dies hilfreich - Dieses Thema bewerten.

Hinzufügen von benutzerdefinierten erforderlichen Komponenten

Der Bootstrapper ist ein allgemeines Installationsprogramm, mit dem beinahe jedes verteilbare Paket in Form einer Windows Installer-Datei oder eines ausführbaren Programms gestartet werden kann. Ein Satz einfacher XML-Manifeste liefert die vom Bootstrapper benötigen Metadaten, um die Installation der Komponente zu verwalten. Der Bootstrapper kann sowohl für Windows Installer- als auch für ClickOnce-Anwendungen verwendet werden.

Wenn ein Benutzer Setup.exe startet, werden zunächst alle bereits installierten erforderlichen Komponenten erkannt. Fehlende erforderliche Komponenten werden vom Bootstrapper gegebenenfalls in einem Installationsdialogfeld aufgeführt, und die entsprechenden Lizenzverträge werden angezeigt. Wenn alle erforderlichen Komponenten erkannt wurden, startet der Bootstrapper einfach das Installationsprogramm für die Anwendung.

Sobald der Benutzer den Vertrag akzeptiert, startet der Download- und Installationsvorgang. Nach der Installation aller erforderlichen Komponenten wird die Installation der Anwendung durch den Bootstrapper gestartet.

Erstellen von benutzerdefinierten Paketen

In einigen Fällen müssen Sie für die verteilbare Komponente kein Paket erstellen. Normalerweise müssen Sie Pakete nur für freigegebene Komponenten oder Systemkomponenten erstellen. Diese müssen im GAC Dateien installieren, globale Registrierungen vornehmen, oder sie beinhalten einen Windows-Dienst.

Sie sollten den Verwaltungsanbieter darum bitten, die verteilbare Datei mit der Anwendung senden zu können. Wenn ein einfacher Kopiervorgang zum Verteilen der erforderlichen Komponente ausreicht (wenn z. B. keine Abhängigkeiten bestehen), sollten Sie kein Paket erstellen. Stellen Sie lediglich sicher, dass die Datei im Setup eingeschlossen oder als lokale Kopie eingerichtet ist. (In der Eigenschaftenansicht sollte die Copy-Eigenschaft auf True festgelegt werden.)

Sie sollten weiterhin feststellen, ob ein Installationsprogramm verwendet werden muss. Verwenden Sie in diesem Fall ein Bootstrapperpaket.

Um ein neues Komponentenpaket zu erstellen, müssen folgende Dateien verfügbar sein:

  • Die verteilbare Komponente in Form einer EXE- oder MSI-Datei.

  • Das Produktmanifest, product.xml, das alle sprachneutralen Metadaten für das Paket enthält. Es enthält Metadaten, die für alle lokalisierten Versionen der verteilbaren Komponente gleich sind.

  • Das Paketmanifest, package.xml, das sprachspezifische Metadaten und in der Regel auch lokalisierte Fehlermeldungen enthält. Eine Komponente benötigt für jede lokalisierte Version dieser Komponente mindestens ein Paketmanifest.

Die Manifestdateien müssen manuell erstellt werden, und die darin enthaltenen Metadaten müssen dem Schema der Paketschemaelemente im .NET Framework SDK entsprechen. Die Schemareferenz finden Sie unter Referenz zum Produkt- und Paketschema. Das in Visual Studio integrierte Setup-Erstellungsprogramm überprüft die Manifestdateien bei der Erstellung.

Abhängigkeiten zwischen Paketen in diesen Manifesten werden mit dem DependsOnProduct-Schemaelement festgelegt. Ein Beispiel für eine Abhängigkeit kann die Visual J#-Laufzeit sein, die die vorherige Installation von .NET Framework erfordert.

Sie müssen die Produkt- und Paketmanifestdateien zusammen mit den verteilbaren Dateien in einen speziellen Ordner kopieren, den Visual Studio für verteilbare Pakete reserviert:

\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bootstrapper

Um ein Installationsprogramm zu schreiben, das eine verteilbare Komponente und seine Manifeste in diesen Ordner kopiert, können Sie programmgesteuert den Pfad des Bootstrapper-Ordners in den folgenden Registrierungseinträgen suchen:

HKCU\Software\Microsoft\GenericBootstrapper\1.0\Path
HKLM\Software\Microsoft\GenericBootstrapper\1.0\Path

Wenn keiner dieser Schlüssel vorhanden ist, lesen Sie den Registrierungsschlüssel für den SDK-Installationspfad:

HKLM\Software\Microsoft\.NET Framework\sdkInstallRootv2.0

Jede verteilbare Komponente wird unter dem Paketverzeichnis in einem eigenen Unterordner angezeigt. Das Produktmanifest und verteilbare Dateien werden dann in diesen Unterordner eingefügt. Lokalisierte Versionen der Komponente werden zusammen mit den Paketmanifesten in Unterordnern eingefügt und entsprechend dem Kulturnamen benannt. (Weitere Informationen finden Sie in der Tabelle CultureInfo.)

Sobald diese Dateien in den Bootstrapper-Ordner kopiert wurden, werden diese automatisch in Visual Studio im Dialogfeld Erforderliche Komponenten angezeigt, sodass der Entwickler diese durch Aktivieren eines Kontrollkästchens auswählen kann.

Weitere Informationen zum Konfigurieren der Installation mit dem Bootstrapper finden Sie im MSDN-Artikel "Use the Visual Studio 2005 Bootstrapper to Kick-Start Your Installation" unter http://msdn.microsoft.com/msdnmag/issues/04/10/Bootstrapper/ (nur auf Englisch verfügbar).

Trennen von verteilbaren Bootstrapper-Paketen und Anwendungsinstallationen

Im Allgemeinen sollten Sie Komponenten, die Teil eines verteilbaren Bootstrapper-Pakets sind, von den Anwendungen trennen, die diese Komponenten verwenden. Beispielsweise können Sie mit einem Bootstrapper-Paket mit dem Namen Acme.DataWidgets.msi arbeiten, das die Komponente Acme.DataWidgets.dll enthält. Die Datei Acme.DataWidgets.dll sollte sich zur Entwicklungszeit nicht im Verzeichnis bindir des Projekts befinden und sollte nicht mit dem Installer-Paket der Anwendung bereitgestellt werden.

Aus diesem Grund wird empfohlen, die Bootstrapper-Komponenten im GAC auf den Entwicklungscomputern zu installieren, am Besten mit demselben grundlegenden Installer für das verteilbare Bootstrapper-Paket. Dadurch wird verhindert, dass zur Entwicklungszeit Bootstrapper-Komponenten in das Verzeichnis bindir des Projekts kopiert werden. Darüber hinaus empfiehlt es sich, eine RedistList-Datei zu definieren, in der alle Assemblys beschrieben werden, die Teil des verteilbaren Bootstrapper-Pakets sind. Dadurch wird verhindert, dass Bootstrapper-Komponenten in Projekten zur Anwendungsbereitstellung eingeschlossen werden. Die RedistList-Datei muss nur auf Entwicklungscomputern installiert werden.

Erstellen Sie hierzu im Verzeichnis .NET Framework (\WINDOWS\Microsoft.NET\Framework) im Ordner RedistList eine verteilbare Liste.

Bei der verteilbaren Liste handelt es sich um eine XML-Datei, deren Name dem folgenden Format entsprechen sollte: Firmenname + Komponentenname + RedistList.xml. Wenn die Komponente z. B. "Datawidgets" heißt und mit "Acme" erstellt wurde, verwenden Sie den Namen Acme.DataWidgets.RedistList.xml. Ein Beispiel für eine verteilbare Liste sieht wie folgt aus:

<?xml version="1.0" encoding="UTF-8"?>
<FileList Redist="Acme.DataWidgets" >
<File AssemblyName="Acme.DataGrid" Version="1.0.0.0" PublicKeyToken="b03f5f7f11d50a3a" Culture="neutral" ProcessorArchitecture="MSIL" InGAC="true" />
</FileList>

Hinzufügen von Paketen zum Dialogfeld "Erforderliche Komponenten"

Dialogfeld "Erforderliche Komponenten" ermöglicht Ihnen vor der Installation eine Auswahl der für die Anwendung erforderlichen Komponenten. Visual Studio beinhaltet eine Anzahl von erforderlichen Standardkomponenten. Sie können jedoch andere Komponenten von Microsoft oder Drittanbietern als erforderliche Komponenten hinzufügen. Dazu müssen Sie die Produkt- und Paketmanifeste wie oben beschrieben verfassen.

Im Dialogfeld Erforderliche Komponenten werden in der Liste Zu installierende erforderliche Komponenten auswählen die Pakete mit erforderlichen Komponenten angezeigt, die installiert werden können. Die Reihenfolge der Pakete in dieser Liste basiert auf den in den Manifesten angegebenen Abhängigkeiten und entspricht der Reihenfolge, in der die Pakete installiert werden.

Nachdem Sie dem Bootstrapper ein allgemeines Paket hinzugefügt haben, wird dieses im Dialogfeld Erforderliche Komponenten als MyPackage angezeigt. Visual Studio wählt keine Pakete für die Installation automatisch aus.

Für ClickOnce-Projekte wird von Visual Studio empfohlen, das .NET Framework für alle Projekttypen einzuschließen, indem Sie unter Zu installierende erforderliche Komponenten auswählen standardmäßig das Kontrollkästchen .NET Framework aktivieren. Für ein J#-Projekt wird die J#-Laufzeit empfohlen.

Wenn es sich beim aktuellen Projekt um ein Setup- oder Websetup-Projekt handelt, wird für Windows Installer-Projekte das Kontrollkästchen .NET Framework standardmäßig aktiviert. Wenn zum Erstellungszeitpunkt weder das .NET Framework- noch das Windows Installer-Paket ausgewählt sind, wird eine Buildwarnung ausgegeben.

Siehe auch

Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.