在win32(mingw)上编译我的程序时遇到了一个有趣的问题。 我有两个相同的项目,都是用C :: B创建的。编译时,它运行正常而不需要提升权限,但另一个提示用户使用“允许程序更改计算机等...”对话框。我希望应用程序不会提示用户,因为它不需要提升权限。
这是在Win7 x64下。
这可能是Code :: Blocks问题还是编译器问题?
谢谢!
答案 0 :(得分:2)
事实证明,Win7会在名称中将“更新”(不区分大小写)标记为需要提升权限的文件。所以,值得了解未来
答案 1 :(得分:1)
正如您已经发现的那样,Windows会检测它认为是安装程序的某些应用程序名称,并尝试有效地预升级它们以确保它们成功。
但是,仅对在Win32清单中缺少UAC信息的可执行文件启用此行为。因此,如果您有一个带有其中一个受影响名称的程序,只需给它一个包含相关UAC信息的清单,您就不会收到不需要的提示。
e.g。亚伦的博客http://brethorsting.com/blog/2007/02/meet_uac_-_creating_a_uac_manifest/
马丁