CR的代码文本

all for learning about the world
  订阅 订阅  :: 管理

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

最后是用系统默认的administrator账户登录,重新注册了该com组件。

--update 2014/2/18 16:38

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

怀疑是我在administrator账户下做了其他未知关键操作。

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

……

……

……

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

还是不知道为什么。。。。。。

怀疑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看起来像是内容更多。