Aracılığıyla paylaş


MSIX kalıcı kimliği

Bu özellik, uygulamanın güncelleştirme deneyimini korurken paketleri yeni bir sertifikayla imzalama olanağı sağlar. Başka bir deyişle, bu, paketin eski (özgün) sertifikayla oturum açmaya gerek kalmadan eski paket kimliğini platformda kalıcı hale getirmek için izin verir. Windows Insider Preview Derlemesi 22000'den başlayarak, eski sertifika ile imzalama için kullanılan yeni sertifika arasındaki ilişkiyi göstermek için bir yapıtın oluşturulması gerekir. Aşağıda, güncelleştirme deneyimini korumak için paket kimliğiyle nasıl kalıcı hale getirmek istediğinize ilişkin adım adım bir açıklama yer almaktadır.

Gereksinimler

  • Windows SDK'i aracılığıyla MakeAppx.exe alın. Bu özellik şu anda Windows SDK Preview 22000'de kullanılabilir
  • Windows SDK üzerinden SignTool.exe elde edin. Bu özellik şu anda Windows SDK Preview 22000'de kullanılabilir
  • Özgün paketi imzalamak için kullanılan eski sertifika (CN=Eski)
  • Paketi imzalamak için kullanılacak yeni sertifika (CN=New)

adım adım ilerleyin

Bu, paket kimliğini korurken paketinizi yeni sertifikayla imzalama hakkında adım adım bir yönergedir.

Yapıtı oluşturma

  1. Eski ve yeni yayımcıların ayrıntılarını içeren XML yapıtını yazın. İstediğiniz adı verin, artifact.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Publisher xmlns="http://schemas.microsoft.com/appx/publisherbridging/2021" Old="CN=Old" New="CN=New" />
  1. Yapıtı imzalamak için kullanılacak kataloğu oluşturmak için bir Katalog Tanım Dosyası (CDF) yazın. İstediğiniz adı verin, artifact.cdf:
[CatalogHeader]
Name=artifact.cat
CatalogVersion=2
HashAlgorithms=SHA256

[CatalogFiles]
<HASH>artifact.xml=artifact.xml
  1. Bu CDF'de makecat.exe çalıştırın. Bu, içinde belirtilen dosyayı oluşturur
makecat.exe artifact.cdf
  1. Eski sertifikayı kullanarak kataloğu imzalama
signtool.exe sign /f old-cert.pfx /fd SHA256 artifact.cat

Bu noktada, bundan sonra yalnızca XML ve CAT dosyalarını tutmanız gerekir. Birkaç yapıt oluşturabilirsiniz, ancak platform şu anda en fazla 5 yapıtı destekler.

Uyarı

Katalog dosyanıza zaman damgası eklemenizi öneririz. Katalog zaman damgasına alınmamışsa, eski sertifikanın süresi dolduğunda yapıt işe yaramaz hale gelir.

Paketi oluşturma

  1. makeappx.exe'a hangi öğelerin kullanılacağını bildirmek için bir yayıncı köprü dosyası oluşturun. Bu dosya, eşleme dosyası gibidir. İstediğiniz adı verin, artifacts.txt
[PublisherBridging]
"artifact.xml" "artifact.cat"

Her satır bir çift XML ve CAT dosya yolu içermelidir. Nesneler uygulandıkça sıralanmalıdır. Eğer bir tanesi Publisher1-Publisher2, diğeri Publisher2-Publisher3 olmak üzere iki yapıtınız varsa, önce Publisher1-Publisher2 olanı listelemeniz gerekir.

  1. Yayımcı köprü oluşturma dosyasına işaret etmek için /pb bayrağıyla makeappx.exe çağırın:
makeappx.exe pack /p app.msix /d .\app\ /pb artifacts.txt
  1. Yeni sertifikayı kullanarak paketinizi imzalama
signtool.exe sign /f new-cert.pfx /fd SHA256 app.msix

Artık içindeki yapıtların depolandığı ve yeni sertifikayla imzalanmış bir paketiniz var. Paketi diğer MSIX paketleri gibi dağıtabilirsiniz.

Değerlendirmeler

  • Kataloğun zaman damgasıyla işaretlenmesi önerilir. Bunu yapmak için, kataloğun yolundan önce signtool çağrısına aşağıdaki bağımsız değişkenleri eklemeniz gerekir: /td SHA256 /tr

  • Paketi platformun yükleyebilmesi için yeni sertifikayla imzalanmış olan makineye eski sertifikayı (zaman damgasıyla önerilir) yine de yüklemeniz gerekir.

  • Bu özelliği kullanmak için, eski sertifikanın süresi dolmadan önce bunu yapmanız gerekir.

  • Bu özellik hem MSIX paketleri hem de MSIX Paketleri için çalışır