2

我开发客户端-服务器 UWP 应用程序,我希望它由管理员通过旁加载(可能使用 WinAppDeployCmd 或 MDM)部署到大量设备。但是要启动,我的应用程序需要知道服务器 IP 地址,这因每个客户而异。在管理员部署到每个设备期间,我需要以某种方式传递此设置。

有没有办法设置远程应用程序设置?或者将 XML 配置文件与 appx 一起传递?或者在安装过程中添加一些参数的任何其他方式?

4

1 回答 1

2

与例如 MSI 不同,没有选项可以将“初始数据”与安装包一起传递。一种选择是安装软件包,然后添加您的“数据”,例如

  1. 添加-AppxPackage foo.appx
  2. appdata = ApplicationDataManager.CreateForPackageFamily(foo_pkg_family)
  3. appdata.LocalSettings.CreateContainer("x").values["y"] = z

第 1 步安装包,最值得注意的是它将为用户注册包。这会为用户创建包的 appdata 存储资源。然后,您可以使用 ApplicationDataManager(来自 Win32/非 UWP 进程)访问 appdata。

您可能会发现AppData.exe很方便。一个使用 ApplicationDataManager 为 AppData 提供 cmdline 接口的简单 exe。鉴于此或等效项,您可以编写一个批处理文件

@ECHO Off
powershell -c Add-AppxPackage foo.appx
appdata.exe SET foopkgfamilyname local\configuration --value=x --type=string --data=y
于 2017-05-06T17:44:27.110 回答