2013-01-24 147 views
4

我被困在一些UAC问题(我猜)。Inno-Setup和Windows UAC屏蔽

我的问题是:在某些应用程序中这个UAC Shield图标是什么意思。我如何将这个图标放到我的Inno-Setup setup.exe中?

+2

这意味着,特定的应用程序需要管理权限才能运行 - 但它是由用户或特定应用程序安装程序自定义设置的。它可以添加到注册表中,但链接到特定目录中的特定文件。 'HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers'' PATH \ EXENAME'' RUNASADMIN'。对于'PrivilegesRequired'的Inno Setup默认值是'Admin',因此无论如何UAC弹出窗口都会被触发(即使没有为安装程序图标显示UAC Shield)。 – RobeN

+0

好的,谢谢你的回答。 这意味着,图标不是应用程序内部的“内部”。只是您提到的注册表项中的条目?! –

+0

是的,您可以通过在文件属性(EXE/Shortcut => Properties => Compatibility Tab中的PPM)中设置RUN AS ADMINISTRATOR来设置它 - 它将字符串添加到注册表中,或者通过将字符串自己添加到注册表中(如果您编写应用程序的安装程序相当陈旧,需要管理员权限,例如因为保护系统)。 – RobeN

回答

5

默认情况下,Inno Setup安装程序需要管理权限(如果未由安装程序创建者自定义)。如果用户未在Windows中更改UAC设置,则会触发UAC弹出窗口。

http://www.jrsoftware.org/ishelp/index.php?topic=setup_privilegesrequired

[Setup]PrivilegesRequired

有效值: nonepoweruseradmin,或lowest

默认值: admin

描述: 的EF此指令的作用取决于用户正在运行的Windows版本:

+1

请注意,这不会在运行时提升盾牌图标。您不应该以管理员的身份明确运行Inno安装程序。 – Deanna

+0

但InnoSetup setup.exe没有包含这个清单,赖特?因为没有可见的UAC Shield图标。 哎呀,迟到:-)问题已经回答。 –

+0

@Deanna,它为什么在运行时升级?,你能指出这种行为的基本原理吗? –