首页 文章

在Windows 7 64位上注册DLL文件的问题

提问于
浏览
0

我有注册DLL文件的问题 .

我将 test.dll 文件复制到 C:\Windows\SysWOW64C:\Windows\System32 目录 .

我尝试使用32位版本regsvr32.exe注册:

C:\Windows\SysWOW64> c:\Windows\SysWOW64\regsvr32.exe C:\Windows\SysWOW64\test.dll

并使用64位版本regsvr32.exe:

C:\Windows\System32> c:\Windows\System32\regsvr32.exe C:\Windows\System32\test.dll

In both cases, an error occurs: 模块"C:\Windows\SysWOW64(or System32)\test.dll"可能与您正在运行的WIndows版本不兼容 . 检查模块是否与regsvr32.exe的x84(32位)或x64(64位)版本兼容 .

我检查 test.dll 依赖项:

  • C:\ windows \ system32 \ KERNEL32.DLL
  • C:\ windows \ system32 \ USER32.DLL
  • C:\ windows \ system32 \ ADVAPI32.DLL
  • .........
  • C:\ windows \ system32 \ JVM.DLL

最后一个dll(JVM.DLL)我从 C:\Program Files\Java\jre1.8.0_60\bin\server 复制到 C:\windows\system32 ,因为我的test.dll使用的是jvm.dll .

我试着写,因为它写的是here,但没有结果......

Help me please.

1 回答

  • 0

    我不会将dll复制到系统路径中,而是将它们存储在自己的文件夹中 .

    您可以使用dependency walker来检查dll及其依赖项的依赖项位 . 依赖性walker将在dll的图标中添加一个小的64 . 没有混合物允许 . 它的64或它是32位 .

    test.dll的位数是否与jvm.dll的位数匹配 .

    另外,您可以使用dependency walker加载regsvr32.exe并使用Profile-> Start Profiling来查看在注册控件期间从哪个路径中选择哪些dll .

    我认为不可能只复制jvm.dll但你需要将它添加到路径,因为它作为额外的依赖项 . 依赖步行者也会表现出来 .

相关问题