2009-02-26 91 views
0

我们有一个大型部署的3层.NET应用程序,由于良好的商业原因,目前无法升级。客户端通过通常的互操作机制使用许多经典的C++ ActiveX控件。实时升级.NET应用程序中使用的COM对象

我们修复了其中一个ActiveX控件中的一些关键错误,并且需要将修复程序部署到大量客户而无需重新安装客户端。修补程序是允许的,包括升级dll。有没有办法来安装一个错误修正的ActiveX DLL而不需要一个新的客户端?界面,文件名,GUID等都没有改变。

我试过只是更换DLL没有成功 - 得到了各种有点奇怪的错误,但它可能是ActiveX DLL(它仍在开发中)有缺陷 - 这是并行跟进。

应该简单地替换dll的工作吗?如果不是的话,你能否提出另一种方法来重建,然后重新安装应该工作的客户端?

+0

当你看到可能看起来像中国人,你的错误,他们可以给别人提供一个重要的诊断。这就是他们要做的。任何事情都比“不起作用”更好。 – 2009-02-26 16:14:21

+0

一个公平点 - 它们不在bug报告中,但我应该能够得到它们。 – mlo 2009-02-26 16:17:33

回答

0

如果界面没有改变,那么覆盖原来的dll将会起作用。

+0

FWIW,我无法这样做这项工作。与微软MSDN支持的广泛工作终于通过替换两个生成的interop来实现。我仍然不明白为什么。我有兴趣找到一个参考,确切地说明C++ - > interop-> COM接口是如何工作的。 – mlo 2009-04-03 18:21:57

0

如何在更换之前取消注册,然后重新注册。

regsvr32.exe /u [YOUR DLL HERE] 

然后覆盖DLL,然后

regsvr32.exe [YOUR DLL HERE] 
相关问题