0

我开发了一个 LOB 应用程序,并希望在 Windows 10 PC 上为其预配程序包。我想使用 DISM Cmdlet:

Add-AppxProvisionedPackage -Online -PackagePath ..\cordova-appx\my.appx -SkipLicense

但此 cmdlet 仅适用于新用户,不适用于现有用户。此外,如果我的应用程序版本发生更改(强制部署新软件包),则该规定不会针对 PC 的活动用户进行更新。

解决方案是什么?你如何正确地做到这一点?

谢谢你的帮助。

4

2 回答 2

0

更新预配置的 LOB 应用程序

配置的 LOB 应用程序的较新版本只能由

> Add-AppxPackage

对已登录到运行 Windows 映像的 PC 的每个用户进行操作(通过 powershell)。

查看微软文档:https ://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/sideload-apps-with-dism-s14

您会看到,配置 LOB 应用程序会将其暂存到映像中,并安排在第一次登录或下次登录时为 Windows 映像的每个用户安装它(如果已创建用户帐户)。因此,您不能依赖它来更新已安装的应用程序,因为所有配置都会将应用程序提供给尚未安装的用户。

一种可能的解决方法

从映像中删除预配置的 LOB 应用程序:

> Remove-AppxProvisionedPackage -Online -PackageName MyAppxPkg

从每个活跃的用户卸载旧版本的应用程序:

> Remove-AppxPackage MyAppxPkg

使用新版本再次配置它:

> Add-AppxProvisionedPackage -Online -FolderPath C:\Appx -SkipLicense

警告:确保所有用户都从机器上注销(我建议 PSExec 使用 -s 传递,以便它在 SYSTEM 下运行,并且映像上已配置的应用程序不超过 24 个。

于 2017-08-17T21:16:35.150 回答
0

Add-AppxPackage在平板电脑上为连接的用户添加 appx 为 Add-AppxProvisionedPackage新用户提供 appx,但对现有用户不可用

此外,如果我重新安装我的 appx,则 appx 不会更新

解决方案是在用户登录平板电脑时创建计划任务

Register-ScheduledJob -FilePath C:\myApp\Test.ps1 -Name Install_AppxAtLogOn -MaxResultCount 30 -ScheduledJobOption (New-ScheduledJobOption –DoNotAllowDemandStart) -Trigger (New-JobTrigger -AtLogOn)

test.ps1验证appx是否存在并验证版本并重新安装但它不起作用,它仅适用于创建计划任务的用户

你对我的问题有其他想法吗?

非常感谢

于 2016-10-10T08:04:15.677 回答