我试图将一个分类ASP站点移动到64位Windows 2008服务器。我现在遇到的问题(如果/当我经历这个问题时可能有其他问题)是该站点依赖于旧的VB6 DLL(32位),并且我得到臭名昭着的“ActiveX组件无法创建对象”错误。64位操作系统上的32位ActiveX DLL的问题
我试图通过试图让它与一个简单的VBS脚本文件一起工作,从而将IIS7排除在等式之外,这就给了我同样的想法。
这个DLL唯一的依赖是ADO 2.6,而且从我读过的内容来看,这并不是Windows 2008所需要的,因为包含了WDAC并已经取代了MDAC。
我用下面的注册我的组件:
C:\Windows\SysWOW64\regsvr32.exe "C:\MyVb6Com.dll"
我查了注册表,一切似乎正确那里。我的VBS文件也很简单:
CreateObject("MyVb6Com.Session")
并立即引发错误:
ActiveX component can't create object: 'MyVb6Com.Session'
在IIS结束,我已经试图改变应用程序池的设置,以使32位应用程序,这也没有帮助(当然,如果我不能使用WBS文件工作,这两种方式都没有什么不同)。
任何帮助将非常感激。
确保您使用32位WScript来测试您的VB脚本。双击它将使用64位。 – vcsjones 2011-01-05 02:52:39
谢谢,vcsjones。我实际上使用的是64位版本,一旦我切换到32位,那就工作了。于是我再次尝试了网站,奇怪的是它也起作用了。所以当我尝试让VB脚本运行时,我做了一些事情,解决了IIS问题。太糟糕了,我不知道它是什么。谢谢你的帮助。如果你不在乎,把这个作为答案,我会标记,因为它有助于解决我的情况。 – 2011-01-05 03:05:42
呵呵。那么,只要它工作:-) – vcsjones 2011-01-05 03:08:26