我正在尝试运行一个可执行文件,该文件的文件名包含“ update”,例如“ mycoolupdate
”,但没有扩展名。
如果它是普通的“ mycoolupdate.exe
”文件,则Windows 7中的Windows资源管理器会自动根据需要提升用户权限的文件名来决定。
我认为这只是一个shell行为,不会影响WinAPI函数“ CreateProcess
”,尤其是当文件名不包含.exe
扩展名时,但事实并非如此。事实证明,相同的规则适用于WinAPI。
所以GetLastError
返回
请求的操作需要提升
有没有办法告诉CreateProcess
尽管文件名可疑,但我不需要提高用户权限?
答案 0 :(得分:0)
从Windows Vista开始,需要正确编写的应用程序才能具有应用程序清单。
作为开发人员,您需要提供它。
在这种情况下,您的清单表明您的应用程序已为Windows Vista(或更高版本)正确编写。否则,Windows会假定您的应用程序未针对Windows Vista正确编写。