更新像 clickOnce 这样的 msi 应用程序

Updating a msi application like clickOnce

我开发了一个桌面应用程序,它需要在客户端的 GAC 中安装一些 DLL,所以我将它作为 MSI 安装程序分发给我的客户端。

但是,我每次发布新版本,客户端都要手动下载并重新安装。我想知道是否有更好的分发方式。

类似于 ClickOnce。在 ClickOnce 分发上,当用户打开应用程序时,它会自动检测到我发布了新版本,并在打开应用程序之前下载并安装它。

然而,在 ClickOnce 发行版中,我无法在客户端的 GAC 中安装 dll,因此我无法使用它。有什么方法可以根据这 2 个必要条件来分发我的应用程序吗?

  1. 在客户端 GAC 中安装 DLL
  2. 发布新版本时自动更新

尽管 MSI 在几乎所有方面都优于 ClickOnce,但自动更新模式是 MSI 从未为其提供本机解决方案的杀手级功能。您必须自己实施此基础架构或利用 InstallShield 等供应商提供的基础架构。您需要许多组件,例如用于提供更新的网络服务、用于下载和提升软件包的 windows 服务以及用于退出应用程序、执行安装并重新启动应用程序的客户端。