簡體   English   中英

將控制台應用程序打包到 MSIX 包中時出現錯誤 0x800B0100

[英]Error 0x800B0100 when packing a console app into MSIX package

我想為 Windows 商店發布我的第一個控制台應用程序,並且商店要我打包應用程序,當我使用 misx 打包工具時,它請求認證我在 2019 年使用 Visual Studio。如何在 Visual Studio 中使用 C++ 打包控制台

misx 打包工具

認證請求

錯誤,因為他要求認證

錯誤設置

根據 Microsoft Docs, 錯誤 0x800B0100表示主題中不存在簽名。 如果包未簽名或簽名無效,您可能會收到此錯誤。 必須對包進行簽名才能部署。

因此,您可以參考此鏈接了解如何使用 SignTool 對應用程序包進行簽名

  • 步驟 1:確定要使用的哈希算法

簽署應用程序包時,您必須使用創建應用程序包時使用的相同哈希算法。 如果您使用默認設置創建應用程序包,則使用的哈希算法為 SHA256。

如果您使用具有特定哈希算法的應用打包程序來創建應用包,請使用相同的算法對包進行簽名。 要確定用於對包進行簽名的哈希算法,您可以提取包內容並檢查 AppxBlockMap.xml 文件。 BlockMap 元素的 HashMethod 屬性指示創建應用程序包時使用的哈希算法。 例如:

句法:

<BlockMap xmlns="http://schemas.microsoft.com/appx/2010/blockmap" 
HashMethod="https://www.w3.org/2001/04/xmlenc#sha256">
  • 步驟 2:運行 SignTool.exe 對包進行簽名

使用 .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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM