0

关于上次官方 Win 10 LTSC-Release 上缺少 AppxPackage 错误,我想在 Windows 设置处理的后期设置中自动安装它:开箱即用体验 (OOBE),首次启动 UI。因此,我有 .appx 文件并将以下行放在 SetupComplete.cmd 中:

powershell.exe -ExecutionPolicy bypass -Command "Add-AppxPackage %WINDIR%\Setup\Files\Microsoft.VCLibs.140.00_14.0.30704.0_x64__8wekyb3d8bbwe.appx" >> %WINDIR%\Setup\Files\log.txt

我可以在非提升的 PowerShell 控制台中手动执行此行,但不幸的是,这在 Windows 安装程序处理中无法自动运行,如日志中所述(抱歉,它是德语):

Add-AppxPackage:Fehler bei Bereitstellung。HRESULT:0x80073CF9,Fehler bei der 安装。Wenden Sie sich an den Softwarehersteller。(Ausnahme von HRESULT: 0x80073CF9) Der Bereitstellungsvorgang Add fr das Paket "Microsoft.VCLibs.140.00_14.0.30704.0_x64__8wekyb3d8bbwe" von der Installationsanforderung "Microsoft.VCLibs.140.00_14.0.30704.0_x64__8wekyb3d8bbwe.appx" wurde abgelehnt, da dieser Vorgang mit dem lokalen Systemkonto nicht ausgefhrt werden darf。HINWEIS: Wenn Sie weitere Informationen wnschen, suchen Sie im Ereignisprotokoll nach [ActivityId] 895ecdc3-eb9b-0002-0fcf-5e899bebd701, oder verwenden Sie die Befehlszeile Get-AppxLog -ActivityID 895ecdc3-eb9b-0002-0fcf-5e899bebd701 在 Zeichen :1

  • 添加-AppxPackage C:\Windows\Setup\Files\Microsoft.VCLibs.140.00_14.0.3 ...
    + CategoryInfo          : WriteError: (C:\Windows\Setu...kyb3d8bbwe.appx:String) [Add-AppxPackage],
IOException
    + FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand

为什么本地系统帐户无法安装该软件包?

4

1 回答 1

1

MSIX/AppX 应用程序包为每个 Windows 用户帐户单独安装 - 应用程序文件被提取到中央系统位置,但必须为每个用户完成应用程序在系统中的注册。我不知道为什么本地系统帐户被特别禁止安装软件包,但我可以猜到为什么会这样:为甚至不代表真实的用户帐户安装应用程序包是没有意义的人,更不用说可以登录设备的人了。

如果您希望计算机上的所有用户都可以使用您尝试安装的包,则应使用部署映像和服务管理器 (DISM) “配置”该包。配置的包将在所有现有用户帐户下次登录时自动安装,并在首次登录时为所有新创建的帐户安装。

使用DISM 的/Add-ProvisionedAppXPackage子命令PowerShell versionAdd-AppXProvisionedPackage :) ,您可以将预配的包添加到 Windows 的运行副本。我建议您不要在 OOBE 中执行此操作,而是在更早的 sysprep 审核模式下执行此操作:

:: .bat or .cmd batch file would look like this:
Dism.exe -online -add-provisionedAppxPackage -packagePath:X:\whatever.appx

# PowerShell .ps1 script would look like this:
Add-AppXProvisionedPackage -Online -PackagePath X:\whatever.appx

在 Windows 安装到设备上之前,您还可以使用 DISM 在 Windows 安装映像(.WIM 文件)中预配包:

:: use Dism.exe -get-wiminfo to find the WIM's "index" number for the Windows edition or custom image you want to change
Dism.exe -mount-wim -wimFile:D:\sources\install.wim -index:1 -mountDir:X:\WimMount
Dism.exe -image:X:\WimMount -add-provisionedAppxPackage -packagePath:X:\whatever.appx
Dism.exe -unmount-wim -mountDir:X:\WimMount -commit

# use Get-WindowsImage to find the index for the image you want to change
Mount-WindowsImage -ImagePath D:\sources\install.wim -Index 1 -Path X:\WimMount
Add-AppXProvisionedPackage -Path X:\WimMount -PackagePath X:\whatever.appx
Dismount-WindowsImage -Path X:\WimMount -Save
于 2021-12-07T22:55:13.193 回答