我有一个32位编译的DLL包含vb6代码。在我的以前的操作系统,这是Windows 7 64位,我能够注册和运行这个DLL在我的C#应用程序罚款。现在,运行Windows 8.1,当我尝试注册同一个DLL,它注册的,但当我尝试读取DLL在我的代码,我得到:Windows 7 64位dll注册与Windows 8.1 64位dll注册
Retrieving the COM class factory for component with CLSID {D19A00C4-A7F9-4E14-A5E1-D060B7EB57F3} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
32位的DLL(编译为Interop.VB6Class)用于针对x86构建的ac#类 。
我试图从我的64位的文件夹都regasm和32位的文件夹,没有运气
当我运行的Dependency Walker(一个可爱的小应用程序,检查是否所有的DLL的依赖可用,并且您的CPU版本对于dll及其依赖项匹配),我仍然收到消息“找到了具有不同CPU的模块”。
我遵循了无数的链接和建议,所以如果任何人都可以帮助我,我会接受你作为我的救星,永远称你为国王。
你用什么工具来注册这个VB6 DLL - ''regasm'或'regsvr32'?此外,请不要使用/ i参数只是'C:\ Windows \ SysWow64 \ regsvr32.exe my.dll' – wqw
我已经尝试过regsvr32和regasm。我没有使用任何参数,只是对syswow64文件夹的cd命令 –
“Command Prompt(Admin)”中的所有这些?这是提升的命令提示符? – wqw