Vorbedingungen für die Anwendungsbereitstellung

Um zu gewährleisten, dass eine Anwendung erfolgreich installiert und ausgeführt werden kann, müssen Sie zunächst sicherstellen, dass sämtliche Komponenten, von denen die Anwendung abhängig ist, bereits auf dem Zielcomputer installiert sind. Beispielsweise verfügen die meisten mit Visual Studio erstellten Anwendungen über eine Abhängigkeit von .NET Framework; bevor die Anwendung installiert wird, muss die richtige Version der Common Language Runtime auf dem Zielcomputer bereits vorhanden sein.

Sie können diese erforderlichen Komponenten im Dialogfeld Erforderliche Komponenten auswählen und .NET Framework sowie weitere verteilbare Komponenten als Teil der Installation installieren. Dieses Verfahren wird als Bootstrapping bezeichnet. Danach generiert Visual Studio ein ausführbares Windows-Programm mit dem Namen Setup.exe, das auch als Bootstrapper bezeichnet wird. Der Bootstrapper installiert diese erforderlichen Komponenten, bevor die Anwendung ausgeführt wird. Weitere Informationen zum Auswählen der erforderlichen Komponenten finden Sie unter Dialogfeld "Erforderliche Komponenten".

Jede erforderliche Komponente ist ein Bootstrapperpaket. Ein Bootstrapperpaket ist eine Gruppe von Verzeichnissen und Dateien, die Manifestdateien enthalten, die beschreiben, wie die erforderliche Komponente installiert werden soll. Wenn die erforderlichen Komponenten der Anwendung nicht im Dialogfeld Erforderliche Komponenten aufgeführt sind, können Sie benutzerdefinierte Bootstrapperpakete erstellen und zu Visual Studio hinzufügen. Anschließend können Sie die erforderlichen Komponenten im Dialogfeld Erforderliche Komponenten auswählen. Weitere Informationen finden Sie unter Erstellen von Bootstrapperpaketen.

Standardmäßig ist Bootstrapping sowohl für die Windows Installer-Bereitstellung (mit Setupprojekten in Visual Studio) als auch für die ClickOnce-Bereitstellung aktiviert. Der für die Windows Installer-Bereitstellung generierte Bootstrapper ist nicht signiert. Bei der ClickOnce-Bereitstellung ist der Bootstrapper signiert. Sie können Bootstrapping für eine Komponente deaktivieren. Dies empfiehlt sich jedoch nur, wenn Sie sicher sind, dass auf allen Zielcomputern bereits die richtige Version der Komponente installiert ist.

Bootstrapping und Windows Installer-Bereitstellung

Wenn Sie die Anwendung mithilfe von Setupprojekten in Visual Studio bereitstellen, ist die Standardstartbedingung .NET Framework 4 Client Profile, und das standardmäßig ausgewählte Bootstrapperpaket ist .NET Framework 4 Client Profile und Windows Installer 3.1. Wenn die Anwendung für eine andere Version von .NET Framework vorgesehen ist, müssen Sie die erforderlichen Komponenten im Dialogfeld Erforderliche Komponenten aktualisieren. Weitere Informationen finden Sie unter Gewusst wie: Installieren von erforderlichen Komponenten für die Windows Installer-Bereitstellung.

Wenn Sie den Bootstrapper mit einem Setupprojekt in Visual Studio generieren, wird Setup.exe nicht signiert. Sie können die Datei jedoch mithilfe von SignTool.exe signieren. Weitere Informationen finden Sie unter Gewusst wie: Signieren von Setupdateien mit "SignTool.exe" (Windows Installer).

Bootstrapping und ClickOnce-Bereitstellung

Bevor eine Anwendung auf einem Clientcomputer installiert wird, überprüft ClickOnce den Client, um sicherzustellen, dass er bestimmte, im Anwendungsmanifest angegebene Anforderungen erfüllt. Hierzu gehört Folgendes:

  • Die mindestens erforderliche Version der Common Language Runtime, die als Assemblyabhängigkeit im Anwendungsmanifest angegeben ist.

  • Die mindestens erforderliche Version des von der Anwendung benötigten Windows-Betriebssystems, wie im Anwendungsmanifest mit dem <osVersionInfo>-Element angegeben. (Siehe <dependency>-Element (ClickOnce-Anwendung).)

  • Die Mindestversion jeder einzelnen Assembly, die im globalen Assemblycache (GAC) vorinstalliert sein muss, wie durch Assemblyabhängigkeitsdeklarationen im Assemblymanifest angegeben.

ClickOnce kann fehlende erforderliche Komponenten erkennen. Anschließend können erforderliche Komponenten mit einem Bootstrapper installiert werden. Weitere Informationen finden Sie unter Gewusst wie: Installieren von erforderlichen Komponenten mit einer ClickOnce-Anwendung.

Tipp

Zum Ändern der Werte in den von Tools wie Visual Studio und "MageUI.exe" generierten Manifesten müssen Sie das Anwendungsmanifest in einem Text-Editor bearbeiten und dann das Anwendungs- und das Bereitstellungsmanifest neu signieren. Weitere Informationen finden Sie unter Gewusst wie: Erneutes Signieren von Anwendungs- und Bereitstellungsmanifesten.

Wenn Sie die Anwendung mithilfe von Visual Studio und ClickOnce bereitstellen, hängen die standardmäßig ausgewählten Bootstrapperpakete von der .NET Framework-Version in der Projektmappe ab. Wenn Sie jedoch die Version des .NET Framework-Ziels ändern, müssen Sie die Optionen im Dialogfeld Erforderliche Komponenten manuell aktualisieren.

.NET Framework-Ziel

Ausgewählte Bootstrapperpakete

.NET Framework 4 Client Profile

.NET Framework 4 Client Profile

Windows Installer 3.1

.NET Framework 4

.NET Framework 4

Windows Installer 3.1

Bei der ClickOnce-Bereitstellung verweist die Seite Publish.htm, die vom ClickOnce-Webpublishing-Assistenten generiert wird, entweder auf einen Link, über den nur die Anwendung installiert wird, oder auf einen Link, über den sowohl die Anwendung als auch die Bootstrapperkomponenten installiert werden.

Wenn Sie den Bootstrapper mit dem ClickOnce-Webpublishing-Assistenten oder der Seite Veröffentlichen in Visual Studio generieren, wird Setup.exe automatisch signiert. Wenn Sie jedoch das Zertifikat des Kunden verwenden möchten, um den Bootstrapper zu signieren, können Sie die Datei zu einem späteren Zeitpunkt signieren. Weitere Informationen finden Sie unter Gewusst wie: Signieren von Setupdateien mit "SignTool.exe" (Windows Installer).

Bootstrapping und MSBuild

Wenn Sie Visual Studio nicht verwenden, sondern die Anwendungen über die Befehlszeile kompilieren, können Sie die Bootstrapperanwendung von ClickOnce unter Verwendung einer MSBuild-Aufgabe (Microsoft-Buildmodul) erstellen. Weitere Informationen finden Sie unter GenerateBootstrapper-Aufgabe.

Alternativ zum Bootstrapping können Komponenten mit einem elektronischen Softwareverteilungssystem wie Microsoft Systems Management Server (SMS) vorab bereitgestellt werden.

Befehlszeilenargumente des Bootstrappers (Setup.exe)

Die von Visual Studio und den MSBuild-Aufgaben generierte Datei Setup.exe unterstützt die folgenden Befehlszeilenargumente. Alle anderen an die Bootstrapperanwendung übergebenen Argumente werden an das Installationsprogramm der Anwendung weitergeleitet.

Wenn Sie Bootstrapperoptionen ändern, müssen Sie den nicht signierten Bootstrapper ändern und dann die Bootstrapperdatei zu einem späteren Zeitpunkt signieren. Weitere Informationen finden Sie unter Gewusst wie: Signieren von Setupdateien mit "SignTool.exe" (Windows Installer) oder unter Gewusst wie: Signieren von Setupdateien mit SignTool.exe (ClickOnce).

Befehlszeilenargument

Beschreibung

-?, -h, -help

Zeigt ein Hilfedialogfeld an.

-url, -componentsurl

Zeigt die gespeicherte URL und Komponenten-URL für diese Installation an.

-url=location

Legt die URL fest, unter der Setup.exe nach der ClickOnce-Anwendung sucht.

-componentsurl=location

Legt die URL fest, unter der Setup.exe nach den Abhängigkeiten sucht, z. B. .NET Framework.

-homesite=true|false

Wenn true, werden die Abhängigkeiten vom bevorzugten Speicherort auf der Site des Anbieters heruntergeladen. Dies überschreibt die -componentsurl-Einstellung. Wenn false, werden die Abhängigkeiten von der URL heruntergeladen, die über -componentsurl angegeben wurde.

Unterstützte Betriebssysteme

Der Visual Studio-Bootstrapper wird nicht unter Windows Server 2008 Server Core oder Windows Server 2008 R2 Server Core unterstützt, da hier eine Serverumgebung mit niedriger Wartungsstufe und beschränkter Funktionalität bereitgestellt wird. Zum Beispiel unterstützt die Server Core-Installationsoption nur das .NET Framework 3.5 Server Core-Profil. Visual Studio-Funktionen, die vom vollständigen .NET Framework abhängen, können also nicht ausgeführt werden.

Siehe auch

Konzepte

Auswählen einer Strategie für die ClickOnce-Bereitstellung

ClickOnce-Sicherheit und Bereitstellung