随笔 - 64, 文章 - 11, 评论 - 12, 引用 - 0
数据加载中……

64位操作系统下注册COM组件

 

         在windows 7 64位操作系统下注册进程内服务器时,我曾经遇到过几个挫折。我对这些情况做了个小结,希望能帮助遇到同样困难的人。

         没有以系统管理员的身份运行注册命令。在vista以前的操作系统中,我们可以在编译后的事件中运行注册命令来完成实时自动的注册,而vista, win7等操作系统则不能这样注册。原因是vista以前的操作系统中没有UAC的控制,当然我们可以关闭UAC来获得这项便利。除了上述通过添加事件来注册的方法外,我们通常还会在CMD提示符下运行regsvr32的命令手工地完成注册,我们在启动CMD提示符时,就一定要记得以管理员身份启动。否则,如果开启了UAC功能,那么注册会失败。

         上面讲述了操作系统中新增的UAC功能对注册组件的影响,这段则讲述64位操作系统对注册语法的限制。在32位操作系统中,我们通常的做法是进入到组件所在的目录,然后运行regsvr32 /s dllname.dll等命令。然而这样的语法在64位操作系统中会产生失败,失败的提示初看上去似乎是说COM组件本身内部的问题,其实并不是这么一回事。失败的原因是因为我们的注册语句不对,正确的注册语法为regsvr32 “完整的路径\dllname.dll”

         这里我主要讲了注册命令的使用注意点,对于注销命令同样适用。              

posted on 2009-08-24 13:55 Robertxiao 阅读(7989) 评论(1)  编辑 收藏 引用 所属分类: RPC/COM/ATL散谈

评论

# re: 64位操作系统下注册COM组件  回复  更多评论   

gggg
2011-02-27 20:19 | 杨以文

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理