Erneutes Signieren von Anwendungs- und Bereitstellungsmanifesten

Nachdem Sie Änderungen an Bereitstellungseigenschaften im Anwendungsmanifest für Windows Forms-Anwendungen, Windows Presentation Foundation-Anwendungen (XBAP) oder Office-Lösungen vorgenommen haben, müssen Sie sowohl die Anwendungs- als auch die Bereitstellungsmanifeste mit einem Zertifikat erneut signieren. Durch diesen Prozess können Sie sicherstellen, dass manipulierte Dateien nicht auf den Computern von Endbenutzern installiert werden.

Eine weitere Situation, in der Manifeste erneut signiert werden, liegt vor, wenn Kunden die Anwendungs- und Bereitstellungsmanifeste mit eigenen Zertifikaten signieren möchten.

Erneutes Signieren der Anwendungs- und Bereitstellungsmanifeste

Bei diesem Verfahren wird davon ausgegangen, dass Sie bereits Änderungen an der Anwendungsmanifestdatei vorgenommen haben (MANIFEST). Weitere Informationen finden Sie unter Vorgehensweise: Ändern von Bereitstellungseigenschaften.

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.

So signieren Sie die Anwendungs- und Bereitstellungsmanifeste mit „Mage.exe“ erneut

  1. Öffnen Sie ein Visual Studio-Eingabeaufforderungsfenster.

  2. Geben Sie anstelle der Verzeichnisse den Ordner an, der die Manifestdateien enthält, die Sie signieren möchten.

  3. Geben Sie den folgenden Befehl ein, um die Anwendungsmanifestdatei zu signieren. Ersetzen Sie ManifestFileName durch den Namen Ihrer Manifestdatei mit der entsprechenden Erweiterung. Ersetzen Sie Certificate durch den relativen oder vollqualifizierten Pfad der Zertifikatdatei und Password durch das Kennwort für das Zertifikat.

    mage -sign ManifestFileName.manifest -CertFile Certificate -Password Password
    

    Sie können beispielsweise den folgenden Befehl ausführen, um ein Anwendungsmanifest für ein Add-In, eine Windows Form-Anwendung oder eine Windows Presentation Foundation-Browseranwendung zu signieren. Temporäre Zertifikate, die von Visual Studio erstellt wurden, werden für die Bereitstellung in Produktionsumgebungen nicht empfohlen.

    mage -sign WindowsFormsApplication1.exe.manifest -CertFile ..\WindowsFormsApplication1_TemporaryKey.pfx
    mage -sign ExcelAddin1.dll.manifest -CertFile ..\ExcelAddIn1_TemporaryKey.pfx
    mage -sign WpfBrowserApplication1.exe.manifest -CertFile ..\WpfBrowserApplication1_TemporaryKey.pfx
    
  4. Geben Sie den folgenden Befehl ein, um die Bereitstellungsmanifestdatei zu aktualisieren und zu signieren, und ersetzen Sie die Platzhalternamen wie im vorherigen Schritt.

    mage -update DeploymentManifest -appmanifest ApplicationManifest -CertFile Certificate -Password Password
    

    Sie können beispielsweise den folgenden Befehl ausführen, um ein Bereitstellungsmanifest für ein Excel-Add-In, eine Windows Form-Anwendung oder eine Windows Presentation Foundation-Browseranwendung zu aktualisieren und zu signieren.

    mage -update WindowsFormsApplication1.application -appmanifest WindowsFormsApplication1.exe.manifest -CertFile ..\WindowsFormsApplication1_TemporaryKey.pfx
    mage -update ExcelAddin1.vsto -appmanifest ExcelAddin1.dll.manifest -CertFile ..\ExcelAddIn1_TemporaryKey.pfx
    mage -update WpfBrowserApplication1.xbap -appmanifest WpfBrowserApplication1.exe.manifest -CertFile ..\WpfBrowserApplication1_TemporaryKey.pfx
    
  5. Kopieren Sie optional das Masterbereitstellungsmanifest (publish\<appname>.application) in Ihr Versionsbereitstellungsverzeichnis (publish\Application Files\<appname>_<version>).

Aktualisieren Sie die Anwendungs- und Bereitstellungsmanifeste, und signieren Sie sie erneut.

Bei diesem Verfahren wird davon ausgegangen, dass Sie bereits Änderungen an der Anwendungsmanifestdatei (MANIFEST) vorgenommen haben, es aber andere Dateien gibt, die aktualisiert wurden. Wenn Dateien aktualisiert werden, muss der Hash, der die Datei darstellt, ebenfalls aktualisiert werden.

So aktualisieren Sie die Anwendungs- und Bereitstellungsmanifeste und signieren sie mit „Mage.exe“ erneut

  1. Öffnen Sie ein Visual Studio-Eingabeaufforderungsfenster.

  2. Geben Sie anstelle der Verzeichnisse den Ordner an, der die Manifestdateien enthält, die Sie signieren möchten.

  3. Entfernen Sie die Dateierweiterung DEPLOY aus den Dateien im Veröffentlichungsausgabeordner.

  4. Geben Sie den folgenden Befehl ein, um das Anwendungsmanifest mit den neuen Hashes für die aktualisierten Dateien zu aktualisieren und die Anwendungsmanifestdatei zu signieren. Ersetzen Sie ManifestFileName durch den Namen Ihrer Manifestdatei mit der entsprechenden Erweiterung. Ersetzen Sie Certificate durch den relativen oder vollqualifizierten Pfad der Zertifikatdatei und Password durch das Kennwort für das Zertifikat.

    mage -update ManifestFileName.manifest -CertFile Certificate -Password Password
    

    Sie können beispielsweise den folgenden Befehl ausführen, um ein Anwendungsmanifest für ein Add-In, eine Windows Form-Anwendung oder eine Windows Presentation Foundation-Browseranwendung zu signieren. Temporäre Zertifikate, die von Visual Studio erstellt wurden, werden für die Bereitstellung in Produktionsumgebungen nicht empfohlen.

    mage -update WindowsFormsApplication1.exe.manifest -CertFile ..\WindowsFormsApplication1_TemporaryKey.pfx
    mage -update ExcelAddin1.dll.manifest -CertFile ..\ExcelAddIn1_TemporaryKey.pfx
    mage -update WpfBrowserApplication1.exe.manifest -CertFile ..\WpfBrowserApplication1_TemporaryKey.pfx
    
  5. Geben Sie den folgenden Befehl ein, um die Bereitstellungsmanifestdatei zu aktualisieren und zu signieren, und ersetzen Sie die Platzhalternamen wie im vorherigen Schritt.

    mage -update DeploymentManifest -appmanifest ApplicationManifest -CertFile Certificate -Password Password
    

    Sie können beispielsweise den folgenden Befehl ausführen, um ein Bereitstellungsmanifest für ein Excel-Add-In, eine Windows Form-Anwendung oder eine Windows Presentation Foundation-Browseranwendung zu aktualisieren und zu signieren.

    mage -update WindowsFormsApplication1.application -appmanifest WindowsFormsApplication1.exe.manifest -CertFile ..\WindowsFormsApplication1_TemporaryKey.pfx
    mage -update ExcelAddin1.vsto -appmanifest ExcelAddin1.dll.manifest -CertFile ..\ExcelAddIn1_TemporaryKey.pfx
    mage -update WpfBrowserApplication1.xbap -appmanifest WpfBrowserApplication1.exe.manifest -CertFile ..\WpfBrowserApplication1_TemporaryKey.pfx
    
  6. Fügen Sie die Dateierweiterung DEPLOY wieder zu den Dateien hinzu, außer zu den Anwendungs- und Bereitstellungsmanifestdateien.

  7. Kopieren Sie optional das Masterbereitstellungsmanifest (publish\<appname>.application) in Ihr Versionsbereitstellungsverzeichnis (publish\Application Files\<appname>_<version>).