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

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

已知問題

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

如果您加入宣告我們的 測試人員計畫,請確定您擁有正確的 MSIX 封裝工具版本:

  • 移至 MSIX 封裝工具中的 [ 關於 ] 區段,以查看您的版本。
  • 移至 這裡 以判斷最新的 Insider preview 版本,並確認您已安裝該版本的 MSIX 封裝工具。
  • 請確定已註冊試驗的 MSA 是登入 Microsoft Store 的帳戶。
  • 透過電腦上的 Microsoft Store 手動更新 MSIX 封裝工具。 如果您可以使用此選項,請開啟存放區,移至 [ 下載及更新],然後按一下 [ 取得更新]。 或者,您也可以搜尋 MSIX 封裝工具,然後在產品頁面上提示它進行更新。
  • 若要安裝 MSIX 封裝工具以供離線使用,請遵循下列 指示 ,以確保您可以透過離線程式取得最新的應用程式。

如果您有興趣加入我們的測試人員計畫,請按一下 這裡

MSIX 封裝工具驅動程式

MSIX 封裝工具驅動程式是以隨選功能的形式提供 (從 Windows Update FOD) 套件。 如果電腦上的 Windows Update 服務已停用,或 Windows 測試人員飛行通道設定與電腦的作業系統組建不符,則會無法安裝它。

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

如果您已下載驅動程式,且在封裝轉換期間遇到問題,則可能是下列其中一個問題。

網路連線問題

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

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

Windows 伺服器更新服務 (會影響 Windows Update 連線能力的 WSUS) 、設定管理員或群組原則

下列錯誤碼可能表示電腦上的原則會影響 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. 以滑鼠右鍵按一下它,然後選擇 [更多- > 以系統管理員身分執行]。
  3. 從樹狀目錄功能表中,選擇 [資料收集器集合]-[ > 事件追蹤會話]。
  4. 以滑鼠右鍵按一下清單中的某些現有會話,然後選擇 [停止]。

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

最小版本

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

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

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

若要修正此問題,請開啟 MSIX 封裝工具 ,然後透過 封裝編輯器來編輯您的應用程式。 開啟您的資訊清單,並將 MinVersion 元素的屬性設定 TargetDeviceFamily 為 "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 套件的支援。 由於具有服務支援的作業系統限制,MSIX 封裝工具會自動將 MSIX 套件中支援的最小版本,變更為包含10.0.19025.0 的服務。 這表示您無法在 Windows 10 版本2004的作業系統上安裝具有服務的 MSIX,但您可以使用 MSIX 封裝工具向下建立該 MSIX,以 Windows 10 1809。 如果您需要在較低的作業系統上安裝此應用程式,請適當地更新最小版本,但請注意,服務的支援將無法運作。

架構和驅動程式

如果應用程式需要架構,請確定已在轉換的監視階段期間安裝架構。 逐一查看記錄檔,以確保發生此情況。 如果您的應用程式需要安裝驅動程式,您必須評估您的應用程式是否需要這項功能才能正常執行。 MSIX 目前不支援驅動程式安裝。

遠端電腦

如果您在使用遠端 VM 進行轉換時遇到問題,請參閱 遠端電腦轉換的設定指示

轉換期間的問題

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

簽署期間的問題

錯誤的 PE 憑證 (0x800700C1)

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

Device Guard 簽署

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

過期的憑證

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

您可以使用 批次轉換腳本來簽署您的應用程式。

疑難排解

記錄檔

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

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

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

遠端裝置或 VM 中的記錄檔

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

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

如果您可以共用整個記錄檔資料夾,其中包含在本機用戶端和遠端伺服器上發生的作業,則會更有説明。

常見問題

MakePri/資訊清單轉譯錯誤

當套件的資訊清單有問題時,就會發生此錯誤。 若要找出問題,請移至封裝編輯器並開啟資訊清單。 當您開啟資訊清單時,您可以找出問題,並提供適當的修正程式。

找不到檔案

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

檔案類型關聯

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

具有引數的快速鍵

MSIX 目前不支援具有引數的快捷方式。 如果我們偵測到安裝套裝程式含這些安裝程式,MSIX 就會建立沒有引數的磚。

安裝目錄

這對使用次要磁片磁碟機來執行應用程式轉換的使用者來說更為普遍。 如果您選擇變更安裝位置,它會變更所有檔案所在的根目錄。 這表示 MSIX 封裝工具需要知道所有這些檔案的位置,並將在轉換期間加以捕捉。

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

傳送意見反應

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

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

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

注意

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