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

Can a MSIX package use an external file for user settings?

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

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

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

MSIX 支持 modification packages。这接近你想要的,自定义是通过安装一个单独的包完成的你安装你的应用程序的主 MSIX 包之后。

它不能与您的主应用同时安装。 OS 当您尝试安装修改包时会检查是否安装了主应用程序,如果在机器上找不到主应用程序,它将拒绝安装。

修改包是独立包,installed in a separate location。检查我包含的link,有一个PS window的截图,你可以看到主包的安装路径和修改是不同的。

在运行时(当用户启动应用程序时)OS 知道这两个包是连接的并合并它们的虚拟文件和注册表系统,所以应用程序 "believes" 所有资源都在一个包。

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

And if we update the modification package itself (without touching the main), will it be re-installed to all the clients that used it?

您如何部署更新?您想通过互联网使用自动更新工具吗?或者这些用户在内部公司网络内进行管理,并从 SCCM 等工具获取所有应用程序更新?

修改包主要是为 IT 部门使用而设计的,据我所知,您也需要。

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

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