我正在使用Windows 7和2010。
我用一个MessageBox()调用在WinMain()中创建了一个简单的项目。项目名为"update",所以EXE文件名为update.exe。我已经关闭了链接器设置中的清单生成。但是,当我试图在Visual中开始调试时,它说我的应用程序需要提升。
我决定在Windows Explorer中单击它来启动应用程序,但它仍然需要管理员权限。我将它重命名为update12345.exe和12345update12345.exe,但它仍然需要提升。
但是,当我将它重命名为12345.exe时,它工作得非常完美,无需请求管理员权限!我认为Windows需要对所有包含"update"子字符串的文件进行提升。因此,我取了另一个文件(debugview.exe来自SysInternals DebugView),并将它重命名为update.exe --但是它不需要提升就能工作。
这种奇怪行为的原因是什么?
发布于 2015-06-30 14:53:55
如果您的应用程序不包含requestedExecutionLevel到其清单,安装程序检测技术,检查其名称是否包括“更新”,“安装”等,以检测是否是安装程序应用。这解释了,因为您的应用程序需要UAC时重命名为"update",而其他应用程序则没有清单。
https://stackoverflow.com/questions/31140051
复制相似问题