5

我的应用程序最初将使用 Windows Installer 进行部署。

我正在寻找的解决方案的主要特征包括:

  • 支持应用运行时静默更新(或自动重启客户端)

  • 易于维护和管理包装过程

  • 避免复杂的自定义或安装脚本

您对我如何实现这一目标有任何想法吗?即使这意味着修改应用程序代码以支持任何想法。

应用程序是.net 2.0

4

3 回答 3

5

您是否考虑过使用 ClickOnce 进行部署?它具有以编程方式检查更新并可选择强制安装它们的功能 - 请参阅http://msdn.microsoft.com/en-us/library/ms404263.aspx

于 2010-11-18T15:46:45.887 回答
2
  • 您可以使用重新启动管理器(在 Vista 和 Win7 中可用)静默更新您的应用程序。
  • 不要忘记用户并不总是管理员。从 Vista 开始,如果您签署 Windows Installer 程序包,则无需当前用户的管理员权限即可更新应用程序。
  • 要使所有这些工作,您需要使用 Windows Installer 技术安装您的应用程序。您可以使用Wix创建一个 xml 文件并将其编译为 .msi 包。Wix 与 VS 很好地集成。
于 2010-11-18T15:58:53.390 回答
1

Proxy Design Pattern将帮助您实现这一点,而这是用于插件的模式。

另一个简短的解释是Gang of Four - Proxy Design Pattern.

留意Shadow Copying程序集对于这个技巧绝对有用,因为您将更新的程序集影子复制到应用程序程序集文件夹,然后您可以让您的应用程序知道更改,然后卸载旧程序集并加载新程序集以进行更改生效,也就是说,甚至不必重新启动您的应用程序,这对最终用户来说是绝对透明的。

一个更简单的方法可能是ClickOnce Deployment您可能有兴趣阅读有关遵循 sugested 链接的内容。

于 2010-11-18T15:43:46.173 回答