Time slip through our fingers!

三千山

    路漫漫其修远兮,吾将上下而求索

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

现象: 1>Project : error PRJ0050: Failed to register output. Please try to register the component from a command prompt with elevated permissions.

这个问题在网上有说需要拷贝微软的dll的、添加PATH、用管理员身份运行的,但是都不能解决问题;我的机器是win7x64,应该在win7都有这样的问题。

 
如果用的vs2010如下可以解决:
在win7 ,主要是uca权限控制,限定了对注册表的修改,通过编译日志发现注册信息为:regsvr32 /s /n /i:user ".\***.dll",权限不够,后在atl工程文件属性里面发现:连接器--清单文件--UAC执行级别为 asInvoker,调整为: requireAdministrator ;再执行编译,ok


而在vs2005种没有相应的编译选项,那么解决办法就要从pc上考虑了,经试验如下发放可以解决:

1.用VS自带的工具Depends查看所要注册的DLL是否缺少其他DLL。
2.如果不缺DLL,那么就是管理权限的问题了。在“开 始”->“运行”中输入“msconfig”,在弹出的“系统设置”对话框中,选择“工具”选项卡,在列表框中选择“更改UAC设置”,点击“启 动”,将“用户帐户控制设置”设为“从不通知”,点“确定”完成设置。
3.重启计算机就可以了。

error PRJ0050: 未能注册输出。请确保您有修改注册表的相应权限错误的解决 - 风华正茂 - 乐趣来自探索

 

error PRJ0050: 未能注册输出。请确保您有修改注册表的相应权限错误的解决 - 风华正茂 - 乐趣来自探索

当然通过控制面板打开uac控制也没问题。

posted on 2012-05-22 18:53  xueye9  阅读(364)  评论(0)    收藏  举报
@Baldwin