COM Dll注册在Windows-8 64位操作系统上失败 < >我的VisualStudio 2010在Windows 7 64位系统上构建了C++ COM外壳扩展DLL。 当我尝试在windows 8 64位评估版本上注册DLL时,DLL注册失败

COM Dll注册在Windows-8 64位操作系统上失败 < >我的VisualStudio 2010在Windows 7 64位系统上构建了C++ COM外壳扩展DLL。 当我尝试在windows 8 64位评估版本上注册DLL时,DLL注册失败,c++,visual-c++,com,windows-8,C++,Visual C++,Com,Windows 8,我执行了以下步骤来注册我的Dll 创建了一个类似C:\MyDll的文件夹 已将COM dll和从属dll复制到名为MyDll的文件夹(从属dll:MSVCP.dll、MSVCR.dll、System.Data.SQLite.dll) 以管理员身份打开Cmd.exe 执行以下命令 C:\Windows\System32>regsvr32 C:\MyDll\Test64.dll 我收到了错误消息: 未能加载模块“C:\MyDll\Test64.dll”。确保二进制文件 存储在指定的路径上,或对其进行

我执行了以下步骤来注册我的Dll

  • 创建了一个类似C:\MyDll的文件夹
  • 已将COM dll和从属dll复制到名为MyDll的文件夹(从属dll:MSVCP.dll、MSVCR.dll、System.Data.SQLite.dll)
  • 以管理员身份打开Cmd.exe
  • 执行以下命令 C:\Windows\System32>regsvr32 C:\MyDll\Test64.dll
  • 我收到了错误消息:

    未能加载模块“C:\MyDll\Test64.dll”。确保二进制文件 存储在指定的路径上,或对其进行调试以检查 二进制或相关的.DLL文件。动态链接库(DLL) 初始化例程失败

    应用程序事件查看器错误日志:

    故障应用程序名称:regsvr32.exe,版本:6.2.9200.16384,时间 戳记:0x5010a4f2故障模块名称:未知,版本:0.0.0.0, 时间戳:0x00000000异常代码:0xc0000005故障偏移量: 0x000000008003f038故障进程id:0xef0故障应用程序 开始时间:0x01cdab0260bf6785故障应用程序路径: C:\Windows\system32\regsvr32.exe故障模块路径:未知报告 Id:9e7efd80-16f5-11e2-be6f-bcaec589de41故障包全名: 错误包相对应用程序ID:


    提前感谢您的帮助。

    它因访问冲突而崩溃。您需要调试它。将Debugging+命令设置为regsvr32.exec是否可以加载它@HansPassant,我没有任何Win8 mahine用于卸载DLL。@JPAlioto,依赖项遍历器日志:错误:由于隐式依赖模块中缺少导出函数,至少有一个模块具有未解析的导入。错误:找到具有不同CPU类型的模块。警告:由于延迟负载相关模块中缺少导出功能,至少有一个模块具有未解析的导入。我在win7机器上加载DLL时收到相同的错误消息。但由于此加载错误,DLL在Win7 64位系统上成功注册