现象: 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.重启计算机就可以了。


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

浙公网安备 33010602011771号