我有一个必须以管理员权限执行的应用程序。如果 UAC 打开,一切都很好。但是,如果 UAC 关闭,启动时没有提示(即使对于标准用户),应用程序以受限权限启动。
使用动词“runas”启动进程不起作用。
即使 UAC 关闭,是否有任何方法可以显示标准 UAC 登录对话框并执行具有管理员权限的应用程序?
更新:清单包括:
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.1.6.0" processorArchitecture="X86" name="setup" type="win32"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>
当 UAC 处于活动状态时,一切都很好。但是如果 UAC 关闭,它就不起作用。
更新 2:: MSDN步骤 6:创建和嵌入应用程序清单 (UAC)记录了此行为(请参阅表“标准用户帐户的应用程序启动行为”最后一行)。所以我不能用任何清单来解决这个问题。还有其他解决方案吗?