我有一个我编写的 C++ DLL 无法在 64 位机器上注册。请注意 32 位机器上 DLL 寄存器的 32 位版本。
我们在发布模式下使用 Visual Studio 2010 在 64 位 Windows 7 计算机上构建 DLL,并以 x64 平台为目标。我想在 64 位 Windows 10 计算机(目标)上安装 DLL。目标计算机安装了 64 位的 VS 2010 redist。当我尝试使用以下方法注册程序时:
C:\windows\system32\regsvr32.exe
它失败并说程序“可能与您正在运行的此版本的 Windows 不兼容。检查该模块是否与 regsvr32.exe 的 x86(32 位)或 x64(64 位)版本兼容” .
我使用名为 Dependencies 的程序试图找出 DLL 需要哪些依赖项。依赖项说我的 DLL 需要 ATL100.dll。但是,这是由 VS 2010 redist 安装的,并且确实位于 C:\windows\system32 中。DLL 本身不依赖于任何第三方程序。
有没有人知道接下来要寻找什么来注册这个文件?