MSIX软件包可以使用外部文件进行用户设置吗?

时间:2020-02-10 09:00:26

标签: .net-core clickonce msix

我们正在评估从当前客户端/服务器应用程序到.NET Core的迁移。 3.0版本增加了对客户端所需的WinForms的支持,但不支持ClickOnce。 我们的解决方案是在本地安装的,我们需要包括其他设置,例如应用程序服务器的地址。我们动态创建ClickOnce程序包,可用于安装和更新客户端并包括设置。今天,这就像一种魅力。用户使用ClickOnce软件包安装客户端,并且每次我们更新软件时,都会在客户的站点上重新生成这些软件包,并且他们会使用正确的设置自动获得新版本。

我们正在寻找MSIX作为替代方案,但是我们有一个问题: -是否可以将某些外部设置文件添加到安装时将要使用(部署)的MSIX软件包中?

该软件本身的软件包可以静态生成,但是在第一次安装/更新时如何将设置分发给客户端?

1 个答案:

答案 0 :(得分:2)

MSIX支持modification packages。这很接近您想要的,安装后,安装一个单独的软件包即可完成自定义操作。

它不能与主应用程序同时安装。尝试安装修改包时,操作系统会检查是否安装了主应用程序,如果在计算机上找不到主应用程序,它将拒绝安装。

修改包是一个独立的包installed in a separate location。检查我包含的链接,有一个PS窗口的屏幕快照,您可以在其中看到主软件包的安装路径,并且修改后的内容有所不同。

在运行时(用户启动应用程序时),操作系统知道这两个程序包已连接并合并了它们的虚拟文件和注册表系统,因此应用程序“认为”所有资源都在一个程序包中。

这意味着您可以分别更新主应用程序和修改包,并根据需要部署它们。

如果我们更新修改包本身(而不接触主包),是否会将它重新安装到使用它的所有客户端上?

如何部署更新?您要在互联网上使用自动更新工具吗?还是将这些用户管理在公司内部的内部网络中,并通过SCCM之类的工具获取所有应用程序更新?

修改包主要是供IT部门使用的,这也是我理解的需要。

修改包通过SCCM或其他工具部署,就像主包一样,没有区别。

对于ISV,我相信optional packages是更好的解决方案。