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.
Dieses Feature ermöglicht die Möglichkeit, Pakete mit einem neuen Zertifikat zu signieren und gleichzeitig die Updateumgebung der App beizubehalten. Dies bedeutet, dass das Paket seine alte Paketidentität auf der Plattform beibehalten kann, ohne dass das alte (originale) Zertifikat signiert werden muss. Ab Windows Insider Preview Build 22000 muss ein Artefakt erstellt werden, um die Beziehung zwischen dem alten Zertifikat und dem neuen Zertifikat anzuzeigen, das zum Signieren verwendet wird. Im Folgenden finden Sie eine schrittweise Erläuterung, wie Sie die Paketidentität beibehalten, um das Updateerlebnis zu gewährleisten.
Anforderungen
- Erhalten Sie MakeAppx.exe über das Windows SDK. Dieses Feature ist derzeit im Windows SDK Preview 22000 verfügbar.
- Erhalten Sie SignTool.exe über das Windows SDK. Dieses Feature ist derzeit im Windows SDK Preview 22000 verfügbar.
- Das alte Zertifikat (CN=Old), das zum Signieren des ursprünglichen Pakets verwendet wurde
- Das neue Zertifikat (CN=New), das zum Signieren des Pakets verwendet wird
Exemplarische Vorgehensweise
Dies ist eine schrittweise Anleitung zum Signieren des Pakets mit dem neuen Zertifikat und der Aufrechterhaltung der Paketidentität.
Erstellen des Artefakts
- Schreiben Sie das XML-Artefakt, das die alten und neuen Verleger detailliert erläutert. Benennen Sie alles, was Ihnen gefällt, artifact.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Publisher xmlns="http://schemas.microsoft.com/appx/publisherbridging/2021" Old="CN=Old" New="CN=New" />
- Schreiben Sie eine Katalogdefinitionsdatei (Catalog Definition File, CDF), um den Katalog zu erstellen, der zum Signieren des Artefakts verwendet wird. Benennen Sie es wie es Ihnen gefällt, artifact.cdf:
[CatalogHeader]
Name=artifact.cat
CatalogVersion=2
HashAlgorithms=SHA256
[CatalogFiles]
<HASH>artifact.xml=artifact.xml
- Führen Sie makecat.exe für dieses CDF aus. Die darin angegebene Datei wird erstellt.
makecat.exe artifact.cdf
- Signieren des Katalogs mit dem alten Zertifikat
signtool.exe sign /f old-cert.pfx /fd SHA256 artifact.cat
Zu diesem Zeitpunkt müssen Sie nur die XML- und CAT-Dateien danach beibehalten. Sie können mehrere Artefakte erstellen, die Plattform unterstützt derzeit jedoch bis zu 5.
Hinweis
Wir empfehlen, Ihre Katalogdatei mit einem Zeitstempel zu versehen. Wenn der Katalog nicht zeitstempelt ist, wird das Artefakt nutzlos, sobald das alte Zertifikat abläuft.
Erstellen des Pakets
- Erstellen Sie eine Herausgeber-Bridgingdatei, um makeappx.exe artifacts zu verwenden. Diese Datei ist wie die Zuordnungsdatei. Benennen Sie alles, was Ihnen gefällt, artifacts.txt
[PublisherBridging]
"artifact.xml" "artifact.cat"
Jede Zeile muss ein XML- und CAT-Dateipfadpaar enthalten. Die Artefakte müssen in der Reihenfolge sortiert werden, in der sie angewendet werden. Wenn Sie zwei Artefakte haben, eines für Publisher1->Publisher2 und ein anderes für Publisher2->Publisher3, dann müssen Sie zuerst das Artefakt für Publisher1->Publisher2 auflisten
- Rufen Sie makeappx.exe mit /pb-Flag auf, um auf die Publisher-Überbrückungsdatei zu verweisen:
makeappx.exe pack /p app.msix /d .\app\ /pb artifacts.txt
- Signieren Sie Ihr Paket mit dem neuen Zertifikat
signtool.exe sign /f new-cert.pfx /fd SHA256 app.msix
Jetzt haben Sie ein Paket, das die Darin gespeicherten Artefakte enthält und mit dem neuen Zertifikat signiert wurde. Sie können das Paket wie jedes andere MSIX-Paket bereitstellen.
Überlegungen
Es wird empfohlen, dass der Katalog zeitstempelt werden soll. Dazu müssen Sie diese Argumente im Aufruf zum Signtool vor dem Pfad zum Katalog hinzufügen: /td SHA256 /tr
Sie müssen das alte Zertifikat (empfohlen mit Zeitstempel) weiterhin auf dem Computer installieren, damit die Plattform das Paket installieren kann, das vom neuen Zertifikat signiert wurde.
Um dieses Feature nutzen zu können, müssen Sie dies tun, bevor das alte Zertifikat abgelaufen ist.
Dieses Feature funktioniert sowohl für MSIX-Pakete als auch für MSIX-Bundles.