目前我有一个包含类库,安装程序和安装项目的C#解决方案。安装项目生成一个MSI来安装我的类库(dll),这是注册的vsdrfCOM,在最终用户客户端上由第三方应用程序安装后引用。我无法控制第三方应用程序。这一切都按预期工作,我的类库没有问题引用,可以通过部署的MSI进行安装/重新安装。如何更新部署的类库(DLL)?
不幸的是,我试图解决的问题是如何将更新应用到类库(dll),而不需要最终用户通过MSI卸载,下载新的MSI并运行它。此外,还有我想要维护的用户状态文件夹/文件。基本上,只是覆盖类库(DLL)。我最初拍摄的内容是初始化库,打到远程位置,检查版本,并根据需要下载新的dll。然后通知用户他们需要重新启动第三方应用程序。
只要下载一个新的DLL和paisting覆盖旧的不会出现,即使CLSID的保持,因为它出现在注册表中不顺心的事工作。受到位于此处的自动更新项目的启发,http://www.codeproject.com/KB/vb/Auto_Update_Revisited.aspx
ClickOnce似乎无法与类库一起使用,除非您有一个与其绑定的Forms/Console应用程序。
- 不知道是否可以下载新的MSI,并在不覆盖上述用户状态文件的情况下以被动方式运行旧的。
那么,有没有办法更新在上述条件下安装了MSI的dll?
谢谢。
我想我理解这个概念。接口可能在我的情况下非常广泛,但我可以尝试对某些方法进行有限的测试,看看我是否能够获得预期的结果。 – user719541 2011-04-21 21:09:01