manifest设置成不嵌入,编译debug版本的程序,然后手工将manifest中的 asInvoker 改为 requireAdministrator,放到win7sp1上运行,提示 “请求的操作需要提升”。
然后,在工程属性设置里改成 requireAdministrator,不去手工改manifest文件,重新编译,放到win7sp1上运行,有uac对话框显示了。
有时有 “请求的操作需要提升”,有时没有,请问什么原因导致提示“请求的操作需要提升”,不显示uac对话框呢?
你好,
由于您在设置清单文件(manifast)的时候,选择是不嵌入,所以在编译您的程序时,并没有把清单文件中的一些属性,例如UAC 执行级别,UAC 绕过 UI 保护等一起编译进您的程序。相反,这些信息单独的形成一个清单文件。当您的程序执行的时候,它会检索是否存在清单文件,如果没有它就执行默认配置,如果有就执行清单文件中的配置。由于您在拷贝的时候,没有一起拷贝清单文件。因此会造成您的程序没有执行您预期耳朵结果。
希望我的回答能够帮助您解决您的问题