Windows

Windows 10:預配的應用程序未正確安裝,版本正確,但應用程序和數據為 0 字節

  • May 11, 2022

我正在嘗試將應用程序配置為以審核模式準備的映像的一部分,然後進行 sysprep 然後擷取。該應用程序是旁載入的,因為它是一個業務線應用程序和 Windows Enterprise 2019 LTSC 版本,版本 1809 build 17763.107。

我基本上遵循這些說明。

但是,我立即遇到了一些問題,因為Sideloading 要求下的選項(1、2、3 和 4)都不適用於我,因為:

  • 它不會加入工作組
  • 不會加入活動目錄
  • 正在執行 Windows 10 企業版
  • 未執行 Windows 嵌入式 8

由於這個原因,我繼續介紹配置 PC 以開發 Windows 應用程序。組策略管理編輯器不可用(可能是因為平板電腦未連接到組策略),但我找到了本地組策略編輯器。在其中我可以啟用“允許安裝所有受信任的應用程序”,但我找不到“允許在不安裝開發人員許可證的情況下開發 Windows 應用程序”。相反,我發現“允許開發 Windows Store 應用程序並從 IDE 安裝它們”,所以我啟用了它。

我在 Visual Studio 2017 中創建應用程序包,並在審核模式下將它們複製到設備。

我將包中的證書添加到受信任的根證書中。

我跑Add-AppxProvisionedPackage -Online -PackagePath C:\Path\To\Package\App.msixbundle -SkipLicense

我沒有收到任何錯誤,腳本的唯一輸出是:

小路 :

線上:真

需要重啟:假

如果我檢查使用Get-AppxProvisionedPackage,我會看到具有正確版本的應用程序。

我根據此處的說明進行 sysprep,sysprep 處理一切正常並關閉。

我也根據此處的說明從 WinPE 驅動器重新啟動並啟動,並使用 DISM 將圖像擷取到同一個 USB 記憶棒。由於我正在擷取到 ntfs 驅動器,因此我跳過了拆分步驟。

我再次重新啟動並從同一個 USB 記憶棒啟動,並根據此處的說明部署映像。

部署後,我再次重新啟動並通過 OOBE。在 OOBE 之後,我在開始菜單上看到了該應用程序,但按下它什麼也沒做,如果我檢查它的屬性,版本是正確的,但它說應用程序是 0 字節並且數據是 0 字節。但是,該圖示是正確的。

我試圖瀏覽有關我發現的主題的 Microsoft 文章,有片刻我以為我在此 Server Fault 執行緒中找到了解決方案,但“Add-AppxProvisionedPackage”沒有引發錯誤,所以它似乎不是同樣的問題。

任何關於如何進行的建議將不勝感激,因為我有點別無選擇。提前致謝!

問題是我沒有手動指定要部署應用程序的平台的依賴項。

該應用程序是在 Visual Studio 程式碼中為 Arm、x86 和 x64 建構的。Visual Studio Code 生成的文件夾包含 .msixbundle 和其他一些文件和文件夾。其中一個文件夾名為 Dependencies,其中有名為 Arm、x86 和 x64 的文件夾。我正在部署到 x64,該文件夾包含 3 個文件:

  • Microsoft.NET.CoreFramework.Debug.2.2.appx
  • Microsoft.NET.CoreRuntime.2.2.appx
  • Microsoft.VCLibs.x64.Debug.14.00.appx

Add-AppxProvisionedPackage解決方案是將這些指定為呼叫中的依賴項。

所以為我解決這個問題的電話是:

Add-AppxProvisionedPackage -Online -PackagePath C:\Path\To\Package\App.msixbundle –DependencyPackagePath C:\Path\To\Package\Dependencies\x64\Microsoft.NET.CoreFramework.Debug.2.2.appx,C:\Path\To\Package\Dependencies\x64\Microsoft.NET.CoreRuntime.2.2.appx,C:\Path\To\Package\Dependencies\x64\Microsoft.VCLibs.x64.Debug.14.00 -SkipLicense

Windows 仍然說該應用程序是 0 字節,它只有 88 kB 的數據,但它按預期工作。

很高興我讓它工作了,但有點沮喪,因為缺少的依賴項沒有錯誤消息。

引用自:https://serverfault.com/questions/974385