【问题标题】:UWP AppX Install parametersUWP AppX 安装参数
【发布时间】:2017-04-12 00:02:02
【问题描述】:

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

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

【问题讨论】:

  • 对于“但是要启动,我的应用程序需要知道服务器 IP 地址”你能告诉你的客户端应用程序如何需要服务器 IP 地址吗?在Onlaunch() 方法里面?为什么不将服务器 IP 信息保存在应用包内的 xml 文件中,并在部署之前更新该文件?如果我误解了你,请告诉更多细节。
  • UWP 应用在“沙盒”中运行。 AFAIK,没有办法与 appx 一起分发配置。配置文件应该在 appx 中。
  • 例如,使用 MSI 安装程序安装常规应用程序,我可以创建对话框,以便用户可以在安装过程中设置一些属性。例如用户可以在安装过程中设置服务器 IP 地址,然后 MSI 安装程序会将这个值保存到注册表或配置文件中,以便安装的应用程序可以使用它。我正在为 UWP 寻找类似的流程。

标签: c# .net uwp windows-installer appx


【解决方案1】:

不像例如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

【讨论】:

    猜你喜欢
    • 2018-09-09
    • 1970-01-01
    • 2021-08-02
    • 2019-12-27
    • 2022-09-27
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 2016-03-11
    相关资源
    最近更新 更多