Windows 10:配置的应用程序未正确安装,版本正确但应用程序和数据为 0 字节

Windows 10:配置的应用程序未正确安装,版本正确但应用程序和数据为 0 字节

我正在尝试将应用程序配置为在审核模式下准备的映像的一部分,然后进行系统准备并捕获。该应用程序是侧载的,因为它是一个业务线应用程序,并且是 Windows Enterprise 2019 LTSC 版本 1809 内部版本 17763.107。

我基本上遵循这些指示。

然而,我立即遇到了一些问题,因为侧载要求适用于我,因为:

  • 它不会加入工作组
  • 不会加入活动目录
  • 正在运行 Windows 10 企业版
  • 没有运行 Windows Embedded 8

因此我继续配置电脑以开发 Windows 应用。组策略管理编辑器不可用(可能是因为平板电脑未连接到组策略),但我找到了本地组策略编辑器。在其中我可以启用“允许安装所有受信任的应用程序”,但我找不到“允许在未安装开发人员许可证的情况下开发 Windows 应用程序”。相反,我找到了“允许开发 Windows 应用商店应用程序并从 IDE 安装它们”,所以我启用了它。

我在 Visual Studio 2017 中创建应用程序包并以审核模式将它们复制到设备。

我将包中的证书添加到受信任的根证书中。

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

我没有收到任何错误,并且脚本的唯一输出是:

小路 :

在线:真实

RestartNeeded :False

如果我使用检查,Get-AppxProvisionedPackage我会看到应用程序具有正确的版本。

我按照说明进行系统准备这里并且 sysprep 处理一切正常并且关闭。

我重新启动并从 WinPE 驱动器启动,并根据说明使用 DISM 将映像捕获到同一个 USB 驱动器中这里。由于我要捕获到 ntfs 驱动器,因此我跳过了拆分步骤。

我再次重新启动并从同一个 USB 启动,并根据说明部署映像这里

部署后,我再次重新启动并进行 OOBE。OOBE 后,我在开始菜单上看到了该应用程序,但按下它没有任何反应,如果我检查它的属性,版本是正确的,但它说应用程序是 0 字节,数据是 0 字节。但是图标是正确的。

我试着浏览微软关于这个主题的文章,有一段时间我以为我找到了解决方案此服务器故障线程但是“Add-AppxProvisionedPackage”不会引发错误,所以它似乎不是同一个问题。

任何关于如何继续的建议都将不胜感激,因为我几乎没有选择。提前致谢!

答案1

问题是我没有手动指定应用程序要部署的平台的依赖项。

该应用程序是在 Visual Studio Code 中为 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
  • 微软.VCLibs.x64.调试.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 的数据,但它正在按预期运行。

很高兴它能工作了,但是有点沮丧的是没有关于缺少依赖项的错误消息。

答案2

导航到 C:\windows\system32\ 并搜索 sysprep 文件夹,转到属性,通过更改高级菜单中的权限将文件夹的所有权更改为本地管理员。2. 获得文件夹所有权后,您可以打开 sysprep\actionfiles 并编辑 Generalize.xml 并从中删除以下条目。3. 在任何所需位置保存为 Generalize.xml,然后将现有的 Generalize.xml 重命名为旧文件并将其替换为新文件。4. 运行 sysprep Generalize 并查看它是否适合您。

相关内容