2个相同的程序;只有1要求提升

时间:2011-07-05 23:10:47

标签: c++ mingw uac codeblocks

在win32(mingw)上编译我的程序时遇到了一个有趣的问题。 我有两个相同的项目,都是用C :: B创建的。编译时,它运行正常而不需要提升权限,但另一个提示用户使用“允许程序更改计算机等...”对话框。我希望应用程序不会提示用户,因为它不需要提升权限。

这是在Win7 x64下。

这可能是Code :: Blocks问题还是编译器问题?

谢谢!

2 个答案:

答案 0 :(得分:2)

事实证明,Win7会在名称中将“更新”(不区分大小写)标记为需要提升权限的文件。所以,值得了解未来

答案 1 :(得分:1)

正如您已经发现的那样,Windows会检测它认为是安装程序的某些应用程序名称,并尝试有效地预升级它们以确保它们成功。

但是,仅对在Win32清单中缺少UAC信息的可执行文件启用此行为。因此,如果您有一个带有其中一个受影响名称的程序,只需给它一个包含相关UAC信息的清单,您就不会收到不需要的提示。

e.g。亚伦的博客http://brethorsting.com/blog/2007/02/meet_uac_-_creating_a_uac_manifest/

马丁