Exemplarische Vorgehensweise: Manuelles Bereitstellen einer ClickOnce-Anwendung, die kein erneutes Signieren erfordert und Brandinginformationen beibehält
Wenn Sie eine ClickOnce-Anwendung erstellen und sie dann Kund*innen zur Veröffentlichung und Bereitstellung übergeben, mussten sie das Bereitstellungsmanifest in der Regel aktualisieren und noch mal signieren. Obwohl dies in den meisten Fällen immer noch die bevorzugte Methode ist, können Sie mit .NET Framework 3.5 ClickOnce-Bereitstellungen erstellen, die von Kund*innen bereitgestellt werden können, ohne ein neues Bereitstellungsmanifest erneut generieren zu müssen. Weitere Informationen finden Sie unter Bereitstellen von ClickOnce-Anwendungen für Tests und Produktionsserver ohne erneutes Signieren.
Wenn Sie eine ClickOnce-Anwendung erstellen und sie dann Kund*innen zur Veröffentlichung und Bereitstellung übergeben, kann die Anwendung dann deren Branding verwenden oder Ihr Branding beibehalten. Wenn es sich bei der Anwendung beispielsweise um eine einzelne proprietäre Anwendung handelt, sollten Sie Ihr Branding beibehalten. Wenn die Anwendung für die einzelnen Kund*innen stark angepasst ist, sollten Sie deren Branding verwenden. Mit .NET Framework 3.5 können Sie Ihr Branding, Ihre Herausgeberinformationen und Ihre Sicherheitssignatur beibehalten, wenn Sie eine Anwendung zur Bereitstellung an eine Organisation übergeben. Weitere Informationen finden Sie unter Erstellen von ClickOnce-Anwendungen für die Bereitstellung durch Dritte.
Hinweis
In dieser exemplarischen Vorgehensweise erstellen Sie Bereitstellungen manuell, indem Sie entweder das Befehlszeilentool Mage.exe oder das grafische Tool MageUI.exe verwenden. Weitere Informationen zu manuellen Bereitstellungen finden Sie unter Exemplarische Vorgehensweise: Manuelles Bereitstellen einer ClickOnce-Anwendung.
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
Zum Ausführen der Schritte in dieser exemplarischen Vorgehensweise benötigen Sie Folgendes:
Eine Windows Forms-Anwendung, die Sie bereitstellen können. Diese Anwendung wird als WindowsFormsApp1 bezeichnet.
Visual Studio oder das Windows SDK
So stellen Sie eine ClickOnce-Anwendung mit mehrfacher Bereitstellungs- und Brandingunterstützung mithilfe von Mage.exe bereit
Öffnen Sie eine Visual Studio-Eingabeaufforderung oder eine Windows SDK-Eingabeaufforderung, und wechseln Sie zu dem Verzeichnis, in dem Sie Ihre ClickOnce-Dateien speichern.
Erstellen Sie ein Verzeichnis, das nach der aktuellen Version Ihrer Bereitstellung benannt ist. Wenn Sie die Anwendung zum ersten Mal bereitstellen, wählen Sie wahrscheinlich 1.0.0.0 aus.
Hinweis
Die Version Ihrer Bereitstellung kann sich von der Version Ihrer Anwendungsdateien unterscheiden.
Erstellen Sie ein Unterverzeichnis mit dem Namen bin, und kopieren Sie alle Ihre Anwendungsdateien, einschließlich ausführbarer Dateien, Assemblys, Ressourcen und Datendateien, in dieses Verzeichnis.
Generieren Sie das Anwendungsmanifest mit einem Aufruf von „Mage.exe“.
mage -New Application -ToFile 1.0.0.0\WindowsFormsApp1.exe.manifest -Name "Windows Forms App 1" -Version 1.0.0.0 -FromDirectory 1.0.0.0\bin -UseManifestForTrust true -Publisher "A. Datum Corporation"
Signieren Sie das Anwendungsmanifest mit Ihrem digitalen Zertifikat.
mage -Sign WindowsFormsApp1.exe.manifest -CertFile mycert.pfx
Generieren Sie das Bereitstellungsmanifest mit einem Aufruf von Mage.exe. Standardmäßig markiert Mage.exe Ihre ClickOnce-Bereitstellung als installierte Anwendung, sodass sie sowohl online als auch offline ausgeführt werden kann. Damit die Anwendung nur verfügbar ist, wenn Benutzer*innen online sind, verwenden Sie das Argument
-i
mit dem Wertf
. Da diese Anwendung die Mehrfachbereitstellungsfunktion nutzt, schließen Sie das Argument-providerUrl
für Mage.exe aus. (In .NET Framework-Versionen vor 3.5 führt das Ausschließen von-providerUrl
für eine Offlineanwendung zu einem Fehler.)mage -New Deployment -ToFile WindowsFormsApp1.application -Name "Windows Forms App 1" -Version 1.0.0.0 -AppManifest 1.0.0.0\WindowsFormsApp1.manifest
Signieren Sie das Bereitstellungsmanifest nicht.
Stellen Sie alle Dateien für die Kund*innen bereit, die die Anwendung in ihrem Netzwerk bereitstellen.
An diesem Punkt müssen die Kund*innen das Bereitstellungsmanifest mit ihrem eigenen selbst generierten Zertifikat signieren. Wenn die Kundin oder der Kunde beispielsweise für ein Unternehmen namens Adventure Works arbeitet, können sie mithilfe des Tools MakeCert.exe ein selbstsigniertes Zertifikat generieren. Verwenden Sie als Nächstes das Tool Pvk2pfx.exe, um die von MakeCert.exe erstellten Dateien in einer PFX-Datei zu kombinieren, die an Mage.exe übergeben werden kann.
makecert -r -pe -n "CN=Adventure Works" -sv MyCert.pvk MyCert.cer pvk2pfx.exe -pvk MyCert.pvk -spc MyCert.cer -pfx MyCert.pfx
Die Kund*innen verwenden dieses Zertifikat, um das Bereitstellungsmanifest zu signieren.
mage -Sign WindowsFormsApp1.application -CertFile MyCert.pfx
Die Kund*innen stellen die Anwendung für ihre Benutzer*innen bereit.
So stellen Sie eine ClickOnce-Anwendung mit mehrfacher Bereitstellungs- und Brandingunterstützung mithilfe von MageUI.exe bereit
Öffnen Sie eine Visual Studio-Eingabeaufforderung oder eine Windows SDK-Eingabeaufforderung, und navigieren Sie zu dem Verzeichnis, in dem Sie Ihre ClickOnce-Dateien speichern.
Erstellen Sie ein Unterverzeichnis mit dem Namen bin, und kopieren Sie alle Ihre Anwendungsdateien, einschließlich ausführbarer Dateien, Assemblys, Ressourcen und Datendateien, in dieses Verzeichnis.
Erstellen Sie ein Unterverzeichnis, das nach der aktuellen Version Ihrer Bereitstellung benannt ist. Wenn Sie die Anwendung zum ersten Mal bereitstellen, wählen Sie wahrscheinlich 1.0.0.0 aus.
Hinweis
Die Version Ihrer Bereitstellung kann sich von der Version Ihrer Anwendungsdateien unterscheiden.
Verschieben Sie das Verzeichnis \bin in das Verzeichnis, das Sie in Schritt 2 erstellt haben.
Starten Sie das grafische Tool MageUI.exe.
MageUI.exe
Erstellen Sie ein neues Anwendungsmanifest, indem Sie im Menü Datei, Neu, Anwendungsmanifest auswählen.
Geben Sie auf der Standardregisterkarte Name den Namen und die Versionsnummer dieser Bereitstellung ein. Geben Sie außerdem einen Wert für Herausgeber an, der bei der Bereitstellung als Ordnername für den Verknüpfungslink der Anwendung im Startmenü verwendet wird.
Wählen Sie die Registerkarte Anwendungsoptionen aus, und klicken Sie auf Anwendungsmanifest für Vertrauensinformationen verwenden. Dadurch wird das Branding von Drittanbietern für diese ClickOnce-Anwendung aktiviert.
Wählen Sie die Registerkarte Dateien aus, und klicken Sie neben dem Textfeld Anwendungsverzeichnis auf die Schaltfläche Durchsuchen.
Wählen Sie das Verzeichnis aus, das Ihre Anwendungsdateien enthält, die Sie in Schritt 2 erstellt haben, und klicken Sie im Dialogfeld für die Ordnerauswahl auf OK.
Klicken Sie auf die Schaltfläche Auffüllen, um der Dateiliste alle Ihre Anwendungsdateien hinzuzufügen. Wenn Ihre Anwendung mehrere ausführbare Dateien enthält, markieren Sie die ausführbare Hauptdatei für diese Bereitstellung als Startanwendung, indem Sie Einstiegspunkt aus der Dropdownliste Dateityp auswählen. (Wenn Ihre Anwendung nur eine ausführbare Datei enthält, markiert MageUI.exe diese für Sie.)
Wählen Sie die Registerkarte Erforderliche Berechtigungen und dann die Vertrauensebene aus, die Sie für Ihre Anwendung benötigen. Der Standardwert ist Voll vertrauenswürdig, was für die meisten Anwendungen geeignet ist.
Wählen Sie im Menü Datei, Speichern aus, und speichern Sie das Anwendungsmanifest. Sie werden aufgefordert, das Anwendungsmanifest zu signieren, wenn Sie es speichern.
Wenn Sie ein Zertifikat als Datei in Ihrem Dateisystem gespeichert haben, verwenden Sie die Option Als Zertifikatdatei signieren, und wählen Sie das Zertifikat aus dem Dateisystem aus, indem Sie die Schaltfläche mit den Auslassungspunkten (...) verwenden.
Oder
Wenn Ihr Zertifikat in einem Zertifikatspeicher aufbewahrt wird, auf den von Ihrem Computer aus zugegriffen werden 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 im Menü Datei, Neu, Bereitstellungsmanifest aus, um Ihr Bereitstellungsmanifest zu erstellen, und geben Sie dann auf der Registerkarte Name einen Namen und eine Versionsnummer an (in diesem Beispiel 1.0.0.0).
Wechseln Sie zur Registerkarte Update, und geben Sie an, wie oft diese Anwendung aktualisiert werden soll. Wenn Ihre Anwendung die ClickOnce-Bereitstellungs-API verwendet, um selbst nach Updates zu suchen, deaktivieren Sie das Kontrollkästchen Diese Anwendung soll nach Updates suchen.
Wechseln Sie zur Registerkarte Anwendungsreferenz. Sie können alle Werte auf dieser Registerkarte vorab auffüllen, indem Sie auf die Schaltfläche Manifest auswählen klicken und das Anwendungsmanifest auswählen, das Sie in den vorherigen Schritten erstellt haben.
Wählen Sie Speichern aus, und speichern Sie das Bereitstellungsmanifest auf dem Datenträger. Sie werden aufgefordert, das Anwendungsmanifest zu signieren, wenn Sie es speichern. Klicken Sie auf Abbrechen, um das Manifest zu speichern, ohne es zu signieren.
Stellen Sie den Kund*innen alle Anwendungsdateien bereit.
An diesem Punkt müssen die Kund*innen das Bereitstellungsmanifest mit ihrem eigenen selbst generierten Zertifikat signieren. Wenn die Kundin oder der Kunde beispielsweise für ein Unternehmen namens Adventure Works arbeitet, können sie mithilfe des Tools MakeCert.exe ein selbstsigniertes Zertifikat generieren. Verwenden Sie als Nächstes das Tool Pvk2pfx.exe, um die von MakeCert.exe erstellten Dateien in einer PFX-Datei zu kombinieren, die an MageUI.exe übergeben werden kann.
makecert -r -pe -n "CN=Adventure Works" -sv MyCert.pvk MyCert.cer pvk2pfx.exe -pvk MyCert.pvk -spc MyCert.cer -pfx MyCert.pfx
Nachdem das Zertifikat generiert wurde, signieren die Kund*innen nun das Bereitstellungsmanifest, indem sie das Bereitstellungsmanifest in MageUI.exe öffnen und dann speichern. Wenn das Signaturdialogfeld angezeigt wird, wählen die Kund*innen die Option Als Zertifikatdatei signieren aus und dann die PFX-Datei aus, die sie auf dem Datenträger gespeichert haben.
Die Kund*innen stellen die Anwendung für ihre Benutzer*innen bereit.