[英]Create VirtualBox package with “kmk packing” fails with Error 127
[英]Error 0x800B0100 when packing a console app into MSIX package
我想為 Windows 商店發布我的第一個控制台應用程序,並且商店要我打包應用程序,當我使用 misx 打包工具時,它請求認證我在 2019 年使用 Visual Studio。如何在 Visual Studio 中使用 C++ 打包控制台
根據 Microsoft Docs, 錯誤 0x800B0100表示主題中不存在簽名。 如果包未簽名或簽名無效,您可能會收到此錯誤。 必須對包進行簽名才能部署。
因此,您可以參考此鏈接了解如何使用 SignTool 對應用程序包進行簽名。
簽署應用程序包時,您必須使用創建應用程序包時使用的相同哈希算法。 如果您使用默認設置創建應用程序包,則使用的哈希算法為 SHA256。
如果您使用具有特定哈希算法的應用打包程序來創建應用包,請使用相同的算法對包進行簽名。 要確定用於對包進行簽名的哈希算法,您可以提取包內容並檢查 AppxBlockMap.xml 文件。 BlockMap 元素的 HashMethod 屬性指示創建應用程序包時使用的哈希算法。 例如:
句法:
<BlockMap xmlns="http://schemas.microsoft.com/appx/2010/blockmap"
HashMethod="https://www.w3.org/2001/04/xmlenc#sha256">
使用 .pfx 文件中的簽名證書對包進行簽名
句法
SignTool sign /fd hashAlgorithm /a /f signingCert.pfx /p password filepath.appx
如果未指定,SignTool 會將 /fd hashAlgorithm 參數默認為 SHA1,並且 SHA1 對簽署應用程序包無效。 因此,您必須在簽署應用程序包時指定此參數。 要對使用默認 SHA256 哈希創建的應用程序包進行簽名,請將 /fd hashAlgorithm 參數指定為 SHA256:
句法
SignTool sign /fd SHA256 /a /f signingCert.pfx /p password filepath.appx
如果您使用不受密碼保護的 .pfx 文件,則可以省略 /p 密碼參數。 您還可以使用 SignTool 支持的其他證書選擇選項來簽署應用程序包。 有關這些選項的詳細信息,請參閱 SignTool。
如果要給應用包打時間戳,必須在簽名操作時進行。 例如:
句法
SignTool sign /fd hashAlgorithm /a /f signingCert.pfx /p password /tr timestampServerUrl
filepath.appx
使 /tr timestampServerUrl 參數等於 RFC 3161 時間戳服務器的 URL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.