MSIX 封裝工具的已知問題和疑難排解秘訣

本文將描述在使用 MSIX 封裝工具將應用程式轉換為 MSIX 時應考量的已知問題,並提供疑難排解提示。 如果您需要在中斷連線的環境中取得 MSIX 封裝工具或驅動程式,請參閱我們的其他檔。

已知問題

取得 MSIX 封裝工具的最新 Insider Preview 組建

如果您已選擇加入我們的 測試人員計劃,請確定您有正確的 MSIX 封裝工具版本:

  • 移至 MSIX 封裝工具中的 [關於 ] 區段,以檢視您所在的版本。
  • 請移至 這裡 來判斷最新的 Insider Preview 版本,並確認您已安裝該版本的 MSIX 封裝工具。
  • 請確定已註冊正式發行前小眾測試版的 MSA 是已登入 Microsoft Store 的帳戶。
  • 在電腦上透過 Microsoft Store 手動更新 MSIX 封裝工具。 如果此選項可供您使用,請開啟 [市集],移至 [下載和更新],然後按兩下 [取得更新]。 或者,搜尋 MSIX 封裝工具,然後在產品頁面上,然後提示您進行更新。
  • 若要安裝 MSIX 封裝工具以供離線使用,請遵循 這些指示 ,確保您透過離線程式取得最新的應用程式。

如果您有興趣加入我們的測試人員計劃,請移至 加入 MSIX 封裝工具測試人員!

MSIX 封裝工具驅動程式

MSIX 封裝工具驅動程式會從 Windows Update 傳遞為 功能隨選 (FOD) 套件。 如果計算機上已停用 Windows Update 服務,或 Windows 測試人員正式發行前小眾測試版通道設定不符合電腦的 OS 組建,則無法安裝。

如果您遇到取得驅動程式的問題,或是在離線環境中工作,您可以在這裡找到下載驅動程序的連結。

如果您已下載驅動程式並在套件轉換期間發生問題,可能是下列其中一個問題。

網路連線問題

下列錯誤碼可能表示您遇到連線問題:

  • -2145107924 (0x8024402c)
  • -2145107945 (0x80244017)
  • -2145123272 (0x80240438)

影響 Windows Update 連線的 Windows Server Update Service (WSUS)、Configuration Manager 或組策略

下列錯誤碼可能表示計算機上的原則會影響 Windows Update 連線能力:-2145124306 (0x8024002e)。

如果您收到此錯誤碼,您可能需要檢查您的 環境設定和原則

需要重新安裝驅動程式

在此案例中,MSIX 封裝工具會在錯誤訊息中通知您,並記錄驅動程式需要重新啟動。 重新啟動計算機,然後再次啟動轉換,以修正此問題。

啟動 MSIX 封裝工具驅動程式時發生錯誤,0x80131500

如果您在轉換期間收到此錯誤,當您檢查記錄檔時,應該會找到類似下列項目的專案:

[Error] Error monitoring: Insufficient system resources exist to complete the requested service

當工具啟動新的系統事件追蹤會話時,就會發生此錯誤,但您已超過 Windows 可以建立整個系統的會話數目上限。 如果您超過預設限制 (64),您將遇到ERROR_NO_SYSTEM_RESOURCES錯誤,這會導致驅動程序失敗。

解決方案是遵循下列步驟來停止一些現有的事件追蹤會話:

  1. 開啟 [開始] 功能表 並尋找 效能監視器。
  2. 以滑鼠右鍵按兩下它,然後選擇 [更多 -> 以 管理員 istrator 身分執行]。
  3. 從樹狀目錄功能表中,選擇 [資料收集器集合 -> 事件追蹤會話]。
  4. 以滑鼠右鍵按兩下清單中的某些現有工作階段,然後選擇 [停止]。

現在,您可以使用 MSIX 封裝工具再次嘗試執行轉換。

最小版本

有幾個功能需要注意,這些功能會自動變更 MSIX 套件中的迷你版本支援。

強制執行 Microsoft Store 版本控制需求

如果您使用早於 1.2019.701.0MSIX 封裝工具版本轉換現有的安裝程式,則此工具已在 上強制執行 Microsoft Store 版本控制需求,或使用其他工具來建立未將最低版本設定為 10.0.16299.0 的套件(Windows 10 版本 1709)。 將應用程式部署至 Windows 10 版本 1709 或更新版本時,這會導致錯誤訊息。

若要修正此問題,請開啟 MSIX 封裝工具 ,並透過 套件編輯器編輯您的應用程式。 開啟您的指令清單,並將 專案的屬性TargetDeviceFamily設定MinVersion為 “10.0.16299.0”。

<Dependencies>
    <TargetDeviceFamily> Name="Windows.Desktop" MinVersion="10.0.16299.0" MaxVersionTested = "10.0.17763.0" />
</Dependencies>

MSIX 與服務

在 MSIX 封裝工具 1.2019.1220.0 版中,我們新增了使用服務建立 MSIX 套件的支援。 由於服務支援的OS限制,MSIX 封裝工具會自動將 MSIX 套件中支援的最小版本變更為 10.0.19025.0。 這表示您無法在低於 Windows 10 版本 2004 的作業系統上安裝具有服務的 MSIX,但您可以使用 MSIX 封裝工具,將 MSIX 建立到 Windows 10 1809。 如果您需要在較低的OS上安裝此應用程式,請適當地更新最小版本,但請注意,服務的支援將無法運作。

架構和驅動程式

如果應用程式需要架構,請確定架構是在轉換的監視階段安裝。 請瀏覽記錄,以確保這種情況正在發生。 如果您的應用程式需要安裝驅動程式,您必須評估應用程式是否需要此專案才能正確執行。 MSIX 目前不支援驅動程式安裝。

遠端電腦

如果您因使用遠端 VM 進行轉換而發生問題,請參閱 遠端電腦轉換的設定指示。

轉換期間的問題

  • 某些安裝程式可能會因為結束代碼 259 而無法轉換。 這表示安裝程式繁衍了執行緒,但是未等待其完成。 換句話說,主執行緒已完成安裝,但其繁衍的執行緒仍在執行中,因此發生錯誤 259 而結束轉換。 我們建議您使用適當的 setup.exe 安裝選項。

簽署期間的問題

錯誤的 PE 憑證 (0x800700C1)

當封裝包含具有損毀憑證的二進位檔時,就會發生此問題。 若要解決此問題,請使用 dumpbin.exe /headers 命令來傾印檔案標頭,並檢查不正確的專案。 手動重寫標頭以修正問題。 一般而言,MSIX 封裝工具會自動偵測不正確的標頭。 如果此問題持續發生,請提出意見反應。 您可以在這裡找到詳細資訊。

Device Guard 簽署

請務必遵循下列步驟,並在 商務用 Microsoft Store 中指派適當的角色。

過期的憑證

  • 當您簽署套件時,請使用時間戳。
  • 您可以使用有效的簽署或時間戳憑證來辭職。

您可以使用 MSIX 工具組 - 文稿的批次轉換文本來辭職應用程式。

疑難排解

記錄檔

無論轉換是否成功,每個轉換都會產生記錄檔。 記錄檔位於下列位置:

%localappdata%\packages\Microsoft.MsixPackagingTool_8wekyb3d8bbwe\LocalState\DiagOutputDir\

其中會寫入失敗代碼,並指出轉換過程中的任何失敗點。 錯誤碼的作用是方便使用者記憶。

遠端裝置或 VM 中的記錄檔

如果在遠端裝置上或 VM 上執行轉換,則我們建議您從該裝置複製記錄檔,並將其附加為意見項目的一部分。 這將有助於我們更有效率地診斷及解決問題。

遠端轉換的記錄位在此處:%localappdata%\packages\Microsoft.MsixPackagingTool_8wekyb3d8bbwe\LocalState\DiagOutputDir\<Logs_#>\RemoteServer\Log.txt

如果您可以共用將包含本機用戶端和遠端伺服器上作業的整個 Logs 資料夾,這會更有説明。

常見問題

MakePri/Manifest translation errors

當套件指令清單發生問題時,就會發生此錯誤。 若要找出問題,請移至 [套件編輯器] 並開啟指令清單。 當您開啟指令清單時,您可以識別問題並提供適當的修正。

找不到檔案

檔案可能已開啟或不存在。 若要解決此問題,請新增適當的檔案,或關閉目前正在使用的檔案。 請注意,如果開啟錯誤,您將不會收到 File not Found 錯誤。 相反地,您會收到 Access DeniedFile in Use 錯誤。

檔案類型關聯

檔類型關聯 (FTA) 的問題會因套件到套件而有所不同。 MSIX 封裝工具支援按兩下安裝的檔案關聯。 例如,如果您的應用程式有操作功能表,則不會自動新增,因此您必須手動將它新增至指令清單。 如需範例, 請參閱 desktop4:FileExplorerContextMenus 指令清單元素。

具有自變數的快捷方式

MSIX 封裝工具會擷取所有用戶層級快捷方式以及自變數。 如果無法正確偵測到這些快捷方式,您可以手動將其新增至指令清單。 如需詳細資訊,請參閱 desktop7:Shortcut

安裝目錄

對於使用次要磁碟驅動器來執行應用程序轉換的人來說,這比較常見。 如果您選擇變更安裝位置,它會變更所有檔案的根目錄。 這表示 MSIX 封裝工具必須知道所有這些檔案的去向,而且會在轉換期間擷取。

您可以使用套件支援架構寫入來安裝目錄修正,來修正此問題。 在 MSIX 工具中,我們預設會將此功能新增為功能,這可讓此功能降到 1809。 如果您的應用程式在 1709 中無法運作,且在 1809 年,這可能是問題。

傳送意見反應

傳送您意見反應的最佳方式是透過意見反應中樞

  1. 開啟 [意見反應中樞] 或輸入 Windows + F
  2. 提供標題及重現問題的必要步驟。
  3. 在 [類別] 底下,選取 [應用程式],然後選取 [MSIX 封裝工具]
  4. 附加任何與轉換相關聯的記錄檔。 您可以在上面提供的資料夾中找到記錄。
  5. 如果可能,請附加轉換過的 MSIX 套件。
  6. 按一下 [提交] 。

您也可以移至 [設定] 底下的 [意見反應] 索引標籤,直接從 MSIX 封裝工具傳送意見反應給我們。

注意

可能需要 24 小時的時間,我們才會收到您的意見反應。 因此,如果您使用 VM 來轉換套件,建議您在轉換後讓 VM 保持開啟,並維持目前的狀態達 24 小時。 此外,您也可以手動將轉換記錄附加至意見反應。