我的应用程序最初将使用 Windows Installer 进行部署。
我正在寻找的解决方案的主要特征包括:
支持应用运行时静默更新(或自动重启客户端)
易于维护和管理包装过程
避免复杂的自定义或安装脚本
您对我如何实现这一目标有任何想法吗?即使这意味着修改应用程序代码以支持任何想法。
应用程序是.net 2.0
您是否考虑过使用 ClickOnce 进行部署?它具有以编程方式检查更新并可选择强制安装它们的功能 - 请参阅http://msdn.microsoft.com/en-us/library/ms404263.aspx
这Proxy Design Pattern
将帮助您实现这一点,而这是用于插件的模式。
另一个简短的解释是Gang of Four - Proxy Design Pattern
.
留意Shadow Copying
程序集对于这个技巧绝对有用,因为您将更新的程序集影子复制到应用程序程序集文件夹,然后您可以让您的应用程序知道更改,然后卸载旧程序集并加载新程序集以进行更改生效,也就是说,甚至不必重新启动您的应用程序,这对最终用户来说是绝对透明的。
一个更简单的方法可能是ClickOnce Deployment
您可能有兴趣阅读有关遵循 sugested 链接的内容。