.net-core - MSIX 包可以使用外部文件进行用户设置吗?
问题描述
我们正在评估从当前客户端/服务器应用程序到 .NET Core 的迁移。3.0 版本增加了对我们客户端所需的 WinForms 的支持,但不支持 ClickOnce。我们的解决方案是在本地安装的,我们需要包括设置(以及其他设置),例如应用程序服务器的地址。我们动态创建可用于安装和更新客户端并包含设置的 ClickOnce 包。这在今天就像一个魅力。用户使用 ClickOnce 软件包安装客户端,每次我们更新软件时,我们都会在客户站点重新生成这些软件包,他们会自动获得具有正确设置的新版本。
我们正在将 MSIX 视为替代方案,但我们有一个问题: - 是否可以将一些外部设置文件添加到安装时将使用(部署)的 MSIX 包?
软件本身的包可以静态生成,但我们如何在首次安装/更新时将设置分发给客户端?
解决方案
MSIX 支持修改包。这与您想要的很接近,自定义是在您安装应用程序的主 MSIX 包后安装的单独包完成的。
它不能与您的主应用程序同时安装。当您尝试安装修改包时,操作系统会检查主应用程序是否已安装,如果在机器上找不到主应用程序,它将拒绝其安装。
修改包是一个独立的包,安装在一个单独的位置。检查我包含的链接,有一个 PS 窗口的屏幕截图,您可以在其中看到主包的安装路径和修改不同。
在运行时(当用户启动应用程序时),操作系统知道这两个包已连接并合并它们的虚拟文件和注册表系统,因此应用程序“相信”所有资源都在一个包中。
这意味着您可以分别更新主应用程序和修改包,并根据需要进行部署。
如果我们更新修改包本身(不涉及主程序),它会重新安装到所有使用它的客户端吗?
您如何部署更新?您想通过 Internet 使用自动更新工具吗?或者这些用户是否在公司内部网络中进行管理,并通过 SCCM 等工具获取所有应用更新?
修改包主要是为 IT 部门设计的,我知道这也是您需要的。
修改包和主包一样是通过SCCM或其他工具部署的,没有区别。
对于 ISV,我相信可选包是更好的解决方案。
推荐阅读
- amazon-web-services - 尝试在 aws amplify 上添加站点地图
- python - Altair:创建一个带有类似于 mark_errorband 的 max-min 波段的 mark_line 图
- swift - 使 NSPanel 始终位于顶部
- java - 在多线程计数器Java中实现同步
- c++ - 用迷宫求解程序回溯逻辑错误
- python - 如何通过将源代码保存在 Github 中,将我的 python 程序作为 Web 应用程序在线共享?
- c++ - 如何修复这个未声明的标识符?(C++)
- javascript - ReactTable 上页面大小的自定义下拉菜单
- django - 表单集未在 Django 3 中显示
- node.js - 如何使用 GSuite 帐户通过 node.js 发送邮件?