已封裝的桌面應用程式的已知問題
本文包含當您為桌面應用程式建立 MSIX 套件時,可能會發生的已知問題。
您收到錯誤 MSB4018 "GenerateResource" 工作意外失敗
發生這種情形時,請嘗試將附屬組件轉換為套件資源索引 (PRI) 檔案。
我們已注意到此問題,正在研究長期解決方案。 暫時的解決方法是,可以透過將這一行 XML 新增到裝載專案檔的第一個 PropertyGroup 元素,來停用資源產生器:
<AppxGeneratePrisForPortableLibrariesEnabled>false</AppxGeneratePrisForPortableLibrariesEnabled>
藍色畫面,錯誤碼 0x139 (KERNEL_SECURITY_CHECK_FAILURE)
從 Microsoft Store 安裝或啟動特定應用程式之後,您的電腦可能會意外地重新開機,並出現錯誤: 0x139 (KERNEL_SECURITY_CHECK_ 失敗) 。
已知受影響的 App 包括 Kodi、JT2Go、Ear Trumpet、Teslagrad 和其他 App。
2016 年 10 月 27 日已發佈一 個 Windows 更新 (版本 14393.351 - KB3197954),其中包含可處理此問題的重要修正。 如果您發生此問題,請更新您的電腦。 如果您因為電腦在可以登入之前就重新開機而無法更新電腦,您應該使用系統還原將您的系統復原至安裝受影響 App 之前的時間點。 如需如何使用系統還原的資訊,請參閱 Windows 10 中的復原選項。
如果更新無法修正問題,或您不確定如何復原電腦,請連絡 Microsoft 支援服務。
如果您是開發人員,建議您避免在不包含此更新的 Windows 版本上安裝已封裝應用程式。 請注意,執行此操作時,您的應用程式將無法供尚未安裝更新的使用者使用。 若要將應用程式的可用性限制為已安裝此更新的使用者,請修改您的 AppxManifest.xml 檔,如下所示:
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.351" MaxVersionTested="10.0.14393.351"/>
關於 Windows Update 的詳細資料,請參閱:
- https://support.microsoft.com/kb/3197954
- https://support.microsoft.com/help/12387/windows-10-update-history
當您簽署您應用程式時可能出現的常見錯誤
發行者和憑證不符導致 Signtool 錯誤「錯誤:SignerSign() 失敗」(-2147024885/0x8007000b)
Windows 應用程式套件資訊清單中的發行者項目必須符合您用來簽署的憑證主體。 您可以使用下列任一種方法來檢視憑證的主體。
選項 1:Powershell
執行下列 PowerShell 命令。 .cer 或.pfx 可以用來做為憑證檔案,因為它們具有相同的發行者資訊。
(Get-PfxCertificate <cert_file>).Subject
選項 2:檔案總管
按兩下檔案總管中的憑證,選取 [ 詳細資料 ] 索引標籤,然後按一下清單中 的 [主旨 ] 欄位。 您接著可以複製內容。
選項 3:CertUtil
從 PFX 檔案上的命令列執行certutil ,然後從輸出中複製 [主旨] 欄位。
certutil -dump <cert_file.pfx>
錯誤的 PE 憑證 (0x800700C1)
當您的套件包含具有損毀憑證的二進位檔時,就會發生這種情況。 以下是可能發生這種情況的一些原因:
憑證的開頭不在映射的結尾。
憑證的大小不是正面的。
憑證啟動不在
IMAGE_NT_HEADERS32
32 位可執行檔的結構之後,或在IMAGE_NT_HEADERS64
64 位可執行檔的結構之後。憑證指標未適當地對齊 WIN_CERTIFICATE 結構。
若要尋找包含錯誤 PE 憑證的檔案,請開啟 命令提示字元,並將名為的環境變數設定 為值1。
set APPXSIP_LOG=1
然後,從 命令提示字元重新簽署應用程式。 例如:
signtool.exe sign /a /v /fd SHA256 /f APPX_TEST_0.pfx C:\Users\Contoso\Desktop\pe\VLC.appx
包含錯誤 PE cert 之檔案的相關資訊會出現在 主控台視窗中。 例如:
...
ERROR: [AppxSipCustomLoggerCallback] File has malformed certificate: uninstall.exe
...
後續步驟
有任何問題嗎? 請在 Stack Overflow 上發問。 我們的團隊會監視這些標籤。