我有一个ASP Classic应用程序引用了一些VB6 COM对象。其中一个VB6 COM OBJECTS引用另一个第三方.Net DLL。如何在没有gacutil的情况下注册64位DLL
第三方.Net DLL需要在Windows Server 2008 R2 x64机器上注册。
我已经使用PowerShell(参考:http://weblogs.asp.net/adweigert/archive/2008/10/31/powershell-install-gac-gacutil-for-powershell.aspx)发现脚本注册在GAC中的DLL没有GACUTIL
现在我需要注册程序集。我在本地开发机器(x86)上同时使用了GACUTIL和REGASM。但是当我尝试在测试服务器上获取DLL时,我遇到了问题。
第一个问题:NO GACUTIL
没有在服务器上没有GACUTIL,我得到了周围使用脚本上面提到的。我知道它可以使用SDK安装,但我不想“污染”环境。
第二期:REGASM CAN NOT FIND ASSEMBLY
32位.Net框架没有找到DLL下的REGASM。错误报告:“RegAsm:错误RA0000:无法找到输入程序集'C:\ Windows \ System32 \ xxxxx.dll'或其依赖项之一。”
所以我使用了RegAsm的64位变体,并且工作。
我担心的是,这是一个误判,因为它没有被32位RegAsm注册,所以ASP经典程序没有找到该程序集。
我运行我的应用程序我在事件日志中收到错误:“ActiveX组件无法创建对象”。一般来说,发生这种情况是因为它找不到要创建的对象,这意味着托管对象的DLL未正确注册。
所以我现在要做的是找出是否有一个替代方法使用的PowerShell注册程序集在32位范围内的REGASM。
有没有人知道这是可能的,以及脚本会是什么使它正确?
感谢您的信息...我正在调查它。 – 2011-03-30 06:58:15
嗨JP,请阅读我的回答,以获取更多信息,了解最终的问题。感谢您的帮助和有趣的阅读。肯定会保持UAC虚拟化。 – 2011-03-30 08:03:27