症状解决,缘由不详的用非默认管理权限帐户登陆COM注册成功但找不到类型问题

http://social.msdn.microsoft.com/Forums/en-US/11f01ceb-52a4-438f-b7ef-727ce7a3e191/atl-project-in-vs2010-rc-how-should-i-run-vs2010?forum=vcprereleaseweb

最后是用系统默认的administrator帐户登陆,从新注册了该com组件。windows

--update 2014/2/18 16:38测试

另有一台出现一样症状的机器,一样的办法未解决问题。spa

怀疑是我在administrator帐户下作了其余未知关键操做。.net

回忆之下,症状解除之时,问题机器恰好作了一件看起来不相干的事,安装vs2012.orm

……ci

……get

……it

经两台问题机测试,确实在安装了vs2012之后,就能正常找到该COM的类型了。io

仍是不知道为何。。。。。。

怀疑1.vs2010有bug,vs2012安装之后该组件就没问题了;

怀疑2.该com的interop.xx.dll是x86,但com自己是x64的,因此应该用x64。

    (interop和com的dll之间是个什么关系?)

    (在症状接触以后,这个interop.xx.dll仍然是x86.)

    (会不会是vs2012就是完善了interop和com之间的。。。那啥..匹配)

怀疑3.不算怀疑,下回再有测试机会,先直接装11的rt和.net 4.5 rt看看。

-----------------------------------

另,这个COM用regsvr32 xx.dll注册是OK的,但若是用regsvr32 -n -i:user xx.dll 会报“已加载,但找不到入口点DllInstall。”

 

--update 2014/2/20

前面有怀疑是win7的系统盘形成某些系统文件不对,而后vs2012的安装正好。。。

用msdn的原版win7试过。不是这个缘由。

而后一条条安装update中的更新。发现安装了下面这个补丁之后,就OK了。

用于基于x64系统的windows7的microsoft .net framework 4.5.1 kb2858725 (53.7M)

可是kb2858725脱机安装包在微软下载中心是只有5m+的一个补丁。update center看起来像是内容更多。

相关文章
相关标签/搜索