首页 > 解决方案 > WPF .Net Core - 在后台更新应用程序

问题描述

我正在开发一个 WPF .Net Core 应用程序,现在我正在寻找一些解决方案来在应用程序发布后对其进行更新。我的要求是:

我调查了 ClickOne、MSIX、Squirrel 等,但没有成功。

有没有哪位有经验的可以指点一下?

标签: wpfvisual-studio.net-coreauto-update

解决方案


您可以从文件夹运行应用程序,而无需注册任何 exe 或 dll。

文件副本会起作用。

如果 wan 可用,您可以使用 AD 服务器软件(如 SMS)推送安装新版本。也许这是仓库或核设施中的一台电脑,完全没有气隙。

我建议解决此问题的方法是将应用程序文件复制到用户的应用程序数据。exe、dll配置文件全部复制。进入 v1 文件夹。

当用户获得新的 USB 版本时,您将其文件复制到 v2 文件夹。

然后重新启动应用程序是从最高版本文件夹运行 exe 的问题。这意味着一个小型加载器应用程序或使用当前位置更新注册表,因此当他们启动 xxx 时,它将从那里计算出位置。如果他们无法更新注册表,这可能不切实际。

您可以使用 mef 更复杂的方法。

使入口点主窗口非常简单,并托管动态发现的 dll 中的内容。它们可以从最高版本的文件夹中找到。可以从那里加载资源字典,并以未编译的形式交付为原始 xaml 文件或在用户控件库中交付。

因此,您的主要功能将进入用户控件库。实际的 exe 中包含的内容很少。

您可能想在此处考虑完整的 PRISM,它允许您动态加载 shell 和所有内容。如果您之前没有这样做过,那么可能值得一提的是,需要相当数量的 PRISM 知识才能使其正常工作。


推荐阅读