Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.exeund MageUI.exe.Mage.exeundMageUI.exesind 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
-TrustLevelOption vonMage.exefestlegen. 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.exeoderMakeCert.exePvk2Pfx.exeTools 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
Erstellen Sie ein Verzeichnis, in dem Sie Ihre ClickOnce-Bereitstellungsdateien speichern.
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.
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.
Öffnen Sie die Windows SDK- oder Visual Studio-Eingabeaufforderung, und wechseln Sie in das Unterverzeichnis der Version.
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
-FromDirectoryOption einzuschließen, der das aktuelle Verzeichnis angibt. Wenn Sie den Punkt nicht einschließen, müssen Sie den Pfad zu Ihren Anwendungsdateien angeben.Signieren Sie das Anwendungsmanifest mit Ihrem Authenticode-Zertifikat. Ersetzen Sie
mycert.pfxdurch den Pfad zu Ihrer Zertifikatdatei. Ersetzen Sie passwd durch das Kennwort für Ihre Zertifikatdatei.mage -Sign AppToDeploy.exe.manifest -CertFile mycert.pfx -Password passwdBeginnend mit dem .NET Framework 4.6.2 SDK, das mit Visual Studio und mit dem Windows SDK verteilt wird,
mage.exesigniert Manifeste mit CNG sowie mit Authenticode-Zertifikaten. Verwenden Sie dieselben Befehlszeilenparameter wie bei Authenticode-Zertifikaten.Wechseln Sie in das Stammverzeichnis des Bereitstellungsverzeichnisses.
Erstellen Sie das Bereitstellungsmanifest durch einen Aufruf von
Mage.exe.Mage.exeStandardmäß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-InstallOption mit einem Wert vonfalse. Wenn Sie die Standardeinstellung verwenden und Benutzer Ihre Anwendung von einer Website oder Dateifreigabe installieren, stellen Sie sicher, dass der Wert der-ProviderUrlOption 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.applicationSignieren Sie das Bereitstellungsmanifest mit Ihrem Authenticode- oder CNG-Zertifikat.
mage -Sign AppToDeploy.application -CertFile mycert.pfx -Password passwdKopieren 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.
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
Erstellen Sie ein Verzeichnis, in dem Sie Ihre ClickOnce-Bereitstellungsdateien speichern.
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.
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.
Starten Sie das
MageUI.exegrafische Tool.MageUI.exeErstellen Sie ein neues Anwendungsmanifest, indem Sie im Menü "Datei", " Neu", " Anwendungsmanifest " auswählen.
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.
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.
Wählen Sie das Unterverzeichnis der Version aus, das Ihre Anwendungsdateien enthält, und wählen Sie dann "OK" aus.
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".
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.exewird sie für Sie markiert.)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.
Wählen Sie "Datei", "Speichern unter" aus dem Menü aus. Ein Dialogfeld "Signaturoptionen" wird angezeigt, in dem Sie aufgefordert werden, das Anwendungsmanifest zu signieren.
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.
Wählen Sie "OK" aus, um Ihr Anwendungsmanifest zu signieren. Das Dialogfeld Speichern unter wird angezeigt.
Geben Sie im Dialogfeld "Speichern unter " das Versionsverzeichnis an, und wählen Sie dann " Speichern" aus.
Wählen Sie im Menü "Datei", "Neu", " Bereitstellungsmanifest " aus, um Ihr Bereitstellungsmanifest zu erstellen.
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.
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.)
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.
Wenn Sie die
.deployErweiterung in einem vorherigen Schritt hinzugefügt haben, wählen Sie auch die Dateinamenerweiterung ".deploy" hier aus.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 ".
Wählen Sie die Registerkarte "Anwendungsreferenz " aus, und wechseln Sie dann zur Schaltfläche " Manifest auswählen ". Ein geöffnetes Dialogfeld wird angezeigt.
Wählen Sie das Anwendungsmanifest aus, das Sie zuvor erstellt haben, und wählen Sie dann "Öffnen" aus.
Wählen Sie "Datei", "Speichern unter" aus dem Menü aus. Ein Dialogfeld " Signaturoptionen " wird angezeigt, in dem Sie aufgefordert werden, das Bereitstellungsmanifest zu signieren.
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.
Wechseln Sie zu "OK" , um Ihr Bereitstellungsmanifest zu signieren. Das Dialogfeld Speichern unter wird angezeigt.
Im Dialogfeld "Speichern unter" wechseln Sie eine Verzeichnisebene nach oben zum Stammverzeichnis Ihrer Bereitstellung und wählen dann "Speichern" aus.
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.
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.