lei*_*ren 4 com regsvr32 windows-7
我使用ATL向导在Visual Studio 2008中创建了一个新的简单COM对象.该对象具有单个类和简单方法.ATL向导.rgs为我的班级生成了-files.
当我regsvr32 Simple.dll在我的XP机器上运行时,该类已注册,信息显示HKCR\Simple.SimpleObject在HKCR\CLSID\{guid}我预期的内部和内部.
但是,在我的64位Windows 7机器上它并不相同.我以管理员身份运行regsvr32 HKCR\Simple.SimpleObject显示部件.但是这部分 HKCR\CLSID永远不会到达那里.因此我无法创建新实例.(绝望的我在System32和SysWOW64中都尝试了regsvr32,效果相同.)
为什么不regsrv32把数据放入 HKCR\CLSID?
HKCR是HKLM\Software\Classes的别名,但并未显示所有内容.查看已注册的{guid}的HKLM\Software\Wow6432Node\Classes\CLSID.这是c:\ system32\syswow64\regsvr32.exe写入它们的位置.
你确实提到过你已经尝试过了.有一些问题,你不能随意运行任何版本的Regsvr32.exe并获得相同的DLL注册.无法在64位进程中加载32位DLL.换句话说,64位版本的Regsvr32.exe无法注册32位COM服务器.反过来说.为什么你没有得到错误消息是不可能的从这里,唯一明智的解释是你不知何故实际上没有运行正确版本的Regsvr32.
要真正调试它,请使用SysInternals的ProcMon实用程序.它的跟踪向您展示了ATL注册商如何在注册表中编写密钥.
| 归档时间: |
|
| 查看次数: |
7580 次 |
| 最近记录: |