Freigeben über


Exemplarische Vorgehensweise: Manuelles Bereitstellen einer ClickOnce-Anwendung

Wenn Sie Ihre ClickOnce-Anwendung nicht mit Visual Studio bereitstellen können oder erweiterte Bereitstellungsfeatures wie die vertrauenswürdige Anwendungsbereitstellung verwenden müssen, sollten Sie das Mage.exe Befehlszeilentool verwenden, um Ihre ClickOnce-Manifeste zu erstellen. In dieser exemplarischen Vorgehensweise wird das Erstellen einer ClickOnce-Bereitstellung mithilfe der Befehlszeilenversion (Mage.exe) oder der grafischen Version (MageUI.exe) des Manifestgenerierungs- und Bearbeitungstools beschrieben.

Hinweis

Verwenden Sie in ClickOnce für .NET Core 3.1 und .NET 5 oder höher dotnet-mage.exe anstelle von Mage.exe. Weitere Informationen finden Sie unter ClickOnce für .NET.

Voraussetzungen

Diese Anleitung enthält einige Voraussetzungen und Optionen, die Sie vor dem Erstellen einer Bereitstellung auswählen müssen.

  • Installieren Mage.exe und MageUI.exe.

    Mage.exe und MageUI.exe sind Teil des Windows Software Development Kit (SDK). Sie müssen entweder das Windows SDK oder die Version des Windows SDK installiert haben, die in Visual Studio enthalten ist.

  • Stellen Sie eine Anwendung bereit, die bereitgestellt werden soll.

    In dieser exemplarischen Vorgehensweise wird davon ausgegangen, dass Sie über eine Windows-Anwendung verfügen, die Sie bereitstellen können. Diese Anwendung wird als "AppToDeploy" bezeichnet.

  • Bestimmen Sie, wie die Bereitstellung verteilt wird.

    Die Verteilungsoptionen umfassen: Web, Dateifreigabe oder CD. Weitere Informationen finden Sie unter ClickOnce Security and Deployment.

  • Ermitteln Sie, ob für die Anwendung eine erhöhte Vertrauensstufe erforderlich ist.

    Wenn Ihre Anwendung Volles Vertrauen erfordert – beispielsweise vollen Zugriff auf das System des Benutzers –, können Sie die -TrustLevel Option von Mage.exe festlegen. Wenn Sie einen benutzerdefinierten Berechtigungssatz für Ihre Anwendung definieren möchten, können Sie den Abschnitt für Internet- oder Intranetberechtigungen aus einem anderen Manifest kopieren, entsprechend Ihren Anforderungen ändern und dem Anwendungsmanifest entweder mit einem Text-Editor oder MageUI.exehinzufügen. Weitere Informationen finden Sie unter Übersicht über die Bereitstellung vertrauenswürdiger Anwendungen.

  • Rufen Sie ein Authenticode-Zertifikat ab.

    Sie sollten Ihre Bereitstellung mit einem Authenticode-Zertifikat signieren. Sie können ein Testzertifikat mithilfe von Visual Studio, MageUI.exeoder MakeCert.exePvk2Pfx.exe Tools generieren oder ein Zertifikat von einer Zertifizierungsstelle abrufen. Wenn Sie sich für die Verwendung der vertrauenswürdigen Anwendungsbereitstellung entscheiden, müssen Sie auch eine einmalige Installation des Zertifikats auf allen Clientcomputern durchführen. Weitere Informationen finden Sie unter "Übersicht über die Bereitstellung vertrauenswürdiger Anwendungen".

    Hinweis

    Sie können Ihre Bereitstellung auch mit einem CNG-Zertifikat signieren, das Sie von einer Zertifizierungsstelle erhalten können.

  • Stellen Sie sicher, dass die Anwendung kein Manifest mit UAC-Informationen enthält.

    Sie müssen ermitteln, ob Ihre Anwendung ein Manifest mit Informationen zur Benutzerkontensteuerung (User Account Control, UAC) enthält, z. B. ein <dependentAssembly> Element. Um ein Anwendungsmanifest zu untersuchen, können Sie das Windows Sysinternals Sigcheck-Hilfsprogramm verwenden.

    Wenn Ihre Anwendung ein Manifest mit UAC-Details enthält, müssen Sie es ohne die UAC-Informationen neu erstellen. Öffnen Sie für ein C#-Projekt in Visual Studio die Projekteigenschaften, und wählen Sie die Registerkarte "Anwendung" aus. Wählen Sie in der Dropdownliste "Manifest " die Option "Anwendung erstellen" ohne Manifest aus. Öffnen Sie für ein Visual Basic-Projekt in Visual Studio die Projekteigenschaften, wählen Sie die Registerkarte "Anwendung" aus, und klicken Sie auf " UAC-Einstellungen anzeigen". Entfernen Sie in der geöffneten Manifestdatei alle Elemente innerhalb des einzelnen <asmv1:assembly> Elements.

  • Ermitteln Sie, ob für die Anwendung erforderliche Komponenten auf dem Clientcomputer erforderlich sind.

    ClickOnce-Anwendungen, die in Visual Studio bereitgestellt werden, können einen erforderlichen Installations-Bootstrapper (setup.exe) mit Ihrer Bereitstellung enthalten. In dieser Anleitung werden die beiden Manifeste erstellt, die für eine ClickOnce-Bereitstellung erforderlich sind. Sie können einen erforderlichen Bootstrapper mithilfe der GenerateBootstrapper-Aufgabe erstellen.

So stellen Sie eine Anwendung mit dem Befehlszeilentool Mage.exe bereit

  1. Erstellen Sie ein Verzeichnis, in dem Sie Ihre ClickOnce-Bereitstellungsdateien speichern.

  2. Erstellen Sie im soeben erstellten Bereitstellungsverzeichnis ein Versionsunterverzeichnis. Wenn Sie die Anwendung zum ersten Mal bereitstellen, nennen Sie das Unterverzeichnis 1.0.0.0.0.

    Hinweis

    Die Version Ihrer Bereitstellung kann sich von der Version Ihrer Anwendung unterscheiden.

  3. Kopieren Sie alle Anwendungsdateien in das Unterverzeichnis der Version, einschließlich ausführbarer Dateien, Assemblys, Ressourcen und Datendateien. Bei Bedarf können Sie zusätzliche Unterverzeichnisse erstellen, die zusätzliche Dateien enthalten.

  4. Öffnen Sie die Windows SDK- oder Visual Studio-Eingabeaufforderung, und wechseln Sie in das Unterverzeichnis der Version.

  5. Erstellen Sie das Anwendungsmanifest mit einem Aufruf von Mage.exe. Die folgende Anweisung erstellt ein Anwendungsmanifest für Code, der für die Ausführung auf dem Intel x86-Prozessor kompiliert wird.

    mage -New Application -Processor x86 -ToFile AppToDeploy.exe.manifest -name "My App" -Version 1.0.0.0 -FromDirectory .
    

    Hinweis

    Achten Sie darauf, den Punkt (.) nach der -FromDirectory Option einzuschließen, der das aktuelle Verzeichnis angibt. Wenn Sie den Punkt nicht einschließen, müssen Sie den Pfad zu Ihren Anwendungsdateien angeben.

  6. Signieren Sie das Anwendungsmanifest mit Ihrem Authenticode-Zertifikat. Ersetzen Sie mycert.pfx durch den Pfad zu Ihrer Zertifikatdatei. Ersetzen Sie passwd durch das Kennwort für Ihre Zertifikatdatei.

    mage -Sign AppToDeploy.exe.manifest -CertFile mycert.pfx -Password passwd
    

    Beginnend mit dem .NET Framework 4.6.2 SDK, das mit Visual Studio und mit dem Windows SDK verteilt wird, mage.exe signiert Manifeste mit CNG sowie mit Authenticode-Zertifikaten. Verwenden Sie dieselben Befehlszeilenparameter wie bei Authenticode-Zertifikaten.

  7. Wechseln Sie in das Stammverzeichnis des Bereitstellungsverzeichnisses.

  8. Erstellen Sie das Bereitstellungsmanifest durch einen Aufruf von Mage.exe. Mage.exe Standardmäßig wird Ihre ClickOnce-Bereitstellung als installierte Anwendung markiert, sodass sie sowohl online als auch offline ausgeführt werden kann. Um die Anwendung nur verfügbar zu machen, wenn der Benutzer online ist, verwenden Sie die -Install Option mit einem Wert von false. Wenn Sie die Standardeinstellung verwenden und Benutzer Ihre Anwendung von einer Website oder Dateifreigabe installieren, stellen Sie sicher, dass der Wert der -ProviderUrl Option auf den Speicherort des Anwendungsmanifests auf dem Webserver oder der Freigabe verweist.

    mage -New Deployment -Processor x86 -Install true -Publisher "My Co." -ProviderUrl "\\myServer\myShare\AppToDeploy.application" -AppManifest 1.0.0.0\AppToDeploy.exe.manifest -ToFile AppToDeploy.application
    
  9. Signieren Sie das Bereitstellungsmanifest mit Ihrem Authenticode- oder CNG-Zertifikat.

    mage -Sign AppToDeploy.application -CertFile mycert.pfx -Password passwd
    
  10. Kopieren Sie alle Dateien im Bereitstellungsverzeichnis in das Bereitstellungsziel oder auf die Medien. Dies kann entweder ein Ordner auf einer Website oder FTP-Site, eine Dateifreigabe oder eine CD-ROM sein.

  11. Stellen Sie Ihren Benutzern die URL, UNC oder physische Medien zur Verfügung, die zum Installieren Ihrer Anwendung erforderlich sind. Wenn Sie eine URL oder eine UNC angeben, müssen Sie Ihren Benutzern den vollständigen Pfad zum Bereitstellungsmanifest zuweisen. Wenn "AppToDeploy" beispielsweise im Verzeichnis "AppToDeploy" bereitgestellt wird, lautet der vollständige URL-Pfad http://webserver01/http://webserver01/AppToDeploy/AppToDeploy.application.

So stellen Sie eine Anwendung mit dem grafischen Tool MageUI.exe bereit

  1. Erstellen Sie ein Verzeichnis, in dem Sie Ihre ClickOnce-Bereitstellungsdateien speichern.

  2. Erstellen Sie im soeben erstellten Bereitstellungsverzeichnis ein Versionsunterverzeichnis. Wenn Sie die Anwendung zum ersten Mal bereitstellen, nennen Sie das Unterverzeichnis 1.0.0.0.0.

    Hinweis

    Die Version Ihrer Bereitstellung unterscheidet sich wahrscheinlich von der Version Ihrer Anwendung.

  3. Kopieren Sie alle Anwendungsdateien in das Unterverzeichnis der Version, einschließlich ausführbarer Dateien, Assemblys, Ressourcen und Datendateien. Bei Bedarf können Sie zusätzliche Unterverzeichnisse erstellen, die zusätzliche Dateien enthalten.

  4. Starten Sie das MageUI.exe grafische Tool.

    MageUI.exe
    
  5. Erstellen Sie ein neues Anwendungsmanifest, indem Sie im Menü "Datei", " Neu", " Anwendungsmanifest " auswählen.

  6. Geben Sie auf der Registerkarte " Standardname " den Namen und die Versionsnummer dieser Bereitstellung ein. Geben Sie auch den Prozessor an, für den Ihre Anwendung erstellt wurde, z. B. x86.

  7. Wählen Sie die Registerkarte "Dateien " und dann die Schaltfläche mit den Auslassungspunkten (...) neben dem Textfeld " Anwendungsverzeichnis " aus. Ein Dialogfeld " Nach Ordner suchen" wird angezeigt.

  8. Wählen Sie das Unterverzeichnis der Version aus, das Ihre Anwendungsdateien enthält, und wählen Sie dann "OK" aus.

  9. Wenn Sie über Internet Information Services (IIS) bereitstellen möchten, aktivieren Sie das Kontrollkästchen "Beim Auffüllen die .deploy-Erweiterung zu jeder Datei hinzufügen, die sie nicht besitzt".

  10. Wechseln Sie zur Schaltfläche " Auffüllen ", um alle Anwendungsdateien zur Dateiliste hinzuzufügen. Wenn Ihre Anwendung mehr als eine ausführbare Datei enthält, markieren Sie die ausführbare Hauptdatei für diese Bereitstellung als Startanwendung, indem Sie den Einstiegspunkt aus der Dropdownliste " Dateityp " auswählen. (Wenn Ihre Anwendung nur eine ausführbare Datei enthält, MageUI.exe wird sie für Sie markiert.)

  11. Wählen Sie die Registerkarte "Berechtigungen erforderlich" und dann die Vertrauensstufe aus, die Ihre Anwendung bestätigen muss. Der Standardwert ist FullTrust, der für die meisten Anwendungen geeignet ist.

  12. Wählen Sie "Datei", "Speichern unter" aus dem Menü aus. Ein Dialogfeld "Signaturoptionen" wird angezeigt, in dem Sie aufgefordert werden, das Anwendungsmanifest zu signieren.

  13. Wenn Sie ein Zertifikat als Datei im Dateisystem gespeichert haben, verwenden Sie die Option " Mit Zertifikatdatei signieren ", und wählen Sie das Zertifikat aus dem Dateisystem mithilfe der Schaltfläche mit den Auslassungspunkten (...) aus. Geben Sie dann Ihr Zertifikatkennwort ein.

    -oder-

    Wenn Ihr Zertifikat in einem Zertifikatspeicher gespeichert ist, auf den Ihr Computer zugreifen kann, wählen Sie die Option "Mit gespeichertem Zertifikat signieren " aus, und wählen Sie das Zertifikat aus der bereitgestellten Liste aus.

  14. Wählen Sie "OK" aus, um Ihr Anwendungsmanifest zu signieren. Das Dialogfeld Speichern unter wird angezeigt.

  15. Geben Sie im Dialogfeld "Speichern unter " das Versionsverzeichnis an, und wählen Sie dann " Speichern" aus.

  16. Wählen Sie im Menü "Datei", "Neu", " Bereitstellungsmanifest " aus, um Ihr Bereitstellungsmanifest zu erstellen.

  17. Geben Sie auf der Registerkarte "Name " einen Namen und eine Versionsnummer für diese Bereitstellung an (1.0.0.0.0 in diesem Beispiel). Geben Sie auch den Prozessor an, für den Ihre Anwendung erstellt wurde, z. B. x86.

  18. Wählen Sie die Registerkarte "Beschreibung " aus, und geben Sie Werte für Publisher und Produkt an. (Produkt ist der Name Ihrer Anwendung im Windows-Startmenü, wenn Ihre Anwendung auf einem Clientcomputer für die Offlineverwendung installiert wird.)

  19. Wählen Sie die Registerkarte Bereitstellungsoptionen aus, und geben Sie im Textfeld Startspeicherort den Speicherort des Anwendungsmanifests auf dem Webserver oder der Freigabe an. Beispiel: \\myServer\myShare\AppToDeploy.application.

  20. Wenn Sie die .deploy Erweiterung in einem vorherigen Schritt hinzugefügt haben, wählen Sie auch die Dateinamenerweiterung ".deploy" hier aus.

  21. Wählen Sie die Registerkarte "Updateoptionen " aus, und geben Sie an, wie oft diese Anwendung aktualisiert werden soll. Wenn Ihre Anwendung UpdateCheckInfo verwendet wird, um nach Updates selbst zu suchen, deaktivieren Sie das Kontrollkästchen "Diese Anwendung sollte auf Updates überprüfen ".

  22. Wählen Sie die Registerkarte "Anwendungsreferenz " aus, und wechseln Sie dann zur Schaltfläche " Manifest auswählen ". Ein geöffnetes Dialogfeld wird angezeigt.

  23. Wählen Sie das Anwendungsmanifest aus, das Sie zuvor erstellt haben, und wählen Sie dann "Öffnen" aus.

  24. Wählen Sie "Datei", "Speichern unter" aus dem Menü aus. Ein Dialogfeld " Signaturoptionen " wird angezeigt, in dem Sie aufgefordert werden, das Bereitstellungsmanifest zu signieren.

  25. Wenn Sie ein Zertifikat als Datei im Dateisystem gespeichert haben, verwenden Sie die Option " Mit Zertifikatdatei signieren ", und wählen Sie das Zertifikat aus dem Dateisystem mithilfe der Schaltfläche mit den Auslassungspunkten (...) aus. Geben Sie dann Ihr Zertifikatkennwort ein.

    -oder-

    Wenn Ihr Zertifikat in einem Zertifikatspeicher gespeichert ist, auf den Ihr Computer zugreifen kann, wählen Sie die Option "Mit gespeichertem Zertifikat signieren " aus, und wählen Sie das Zertifikat aus der bereitgestellten Liste aus.

  26. Wechseln Sie zu "OK" , um Ihr Bereitstellungsmanifest zu signieren. Das Dialogfeld Speichern unter wird angezeigt.

  27. Im Dialogfeld "Speichern unter" wechseln Sie eine Verzeichnisebene nach oben zum Stammverzeichnis Ihrer Bereitstellung und wählen dann "Speichern" aus.

  28. Kopieren Sie alle Dateien im Bereitstellungsverzeichnis in das Bereitstellungsziel oder auf die Medien. Dies kann entweder ein Ordner auf einer Website oder FTP-Site, eine Dateifreigabe oder eine CD-ROM sein.

  29. Stellen Sie Ihren Benutzern die URL, UNC oder physische Medien zur Verfügung, die zum Installieren Ihrer Anwendung erforderlich sind. Wenn Sie eine URL oder eine UNC angeben, müssen Sie Ihren Benutzern den vollständigen Pfad zum Bereitstellungsmanifest geben. Wenn "AppToDeploy" beispielsweise im Verzeichnis "AppToDeploy" bereitgestellt wird, lautet der vollständige URL-Pfad http://webserver01/http://webserver01/AppToDeploy/AppToDeploy.application.

Nächste Schritte

Wenn Sie eine neue Version der Anwendung bereitstellen müssen, erstellen Sie ein neues Verzeichnis, das nach der neuen Version benannt ist, z. B. 1.0.0.1, und kopieren Sie die neuen Anwendungsdateien in das neue Verzeichnis. Als Nächstes müssen Sie die vorherigen Schritte ausführen, um ein neues Anwendungsmanifest zu erstellen und zu signieren und das Bereitstellungsmanifest zu aktualisieren und zu signieren. Achten Sie darauf, in sowohl den Mage.exe- als auch den -New-Aufrufen und im -Update-Aufruf dieselbe höhere Version anzugeben, da ClickOnce nur höhere Versionen aktualisiert und die ganz linke Zahl die höchste Bedeutung hat. Wenn Sie MageUI.exeverwendet haben, können Sie das Bereitstellungsmanifest aktualisieren, indem Sie es öffnen, die Registerkarte "Anwendungsreferenz " auswählen, zur Schaltfläche " Manifest auswählen " wechseln und dann das aktualisierte Anwendungsmanifest auswählen.