WPF.Net核心-在后台更新应用程序



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

  • 未发布到存储
  • 不需要自动更新功能
  • 该设备应在没有互联网的情况下工作和更新
  • 更新应该从选择一个更新文件开始
  • 更新应该在没有任何UI的情况下在后台进行
  • 应用程序必须始终打开,可以添加重新启动,以便应用更改(如果需要(

我研究过ClickOne、MSIX、Squirrel等,但都没有成功。

有没有经验丰富的人能给我一些建议?

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

一份文件副本就可以了。

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

我建议的方法是将应用程序文件复制到用户的应用程序数据中。Exe,dll配置只是文件复制所有。放入v1文件夹。

当用户获得一个新的usb版本时,您可以将其文件复制到v2文件夹中。

重新启动应用程序就是从最高版本的文件夹中运行exe。这意味着一个小型加载程序或用当前位置更新注册表,这样当他们启动xxx时,就会从那里计算出位置。如果他们不能更新注册表,这可能是不切实际的。

使用mef可以使方法更加复杂。

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

因此,您的主要功能将转移到用户控制库中。实际的exe中只有很少的内容。

您可能想在这里考虑完全使用PRISM,它允许您动态加载shell和所有内容。如果你以前没有做过这件事,也许值得一提的是,要做到这一点,需要相当多的PRISM知识。

最新更新