我正在尝试使用Inno Setup构建静默安装。我正在使用/ SILENT和/ VERYSILENT命令参数,一切正常,除了在开始时弹出的UAC窗口。
如何解决此问题?
我发现有一些帖子松散地提到使用SignTool,但是其他消息来源说这只会在填充发布商参数的情况下更改UAC框蓝色。
有人可以帮忙吗?该场景是一个安装程序,它将通过互联网分发,以静默方式更新计算机上的现有软件,而无需任何用户交互。
答案 0 :(得分:2)
要在没有UAC提示的情况下运行设置提升,您需要从已经提升的内容运行它。如果程序在没有用户控制访问权限的情况下升级,它将会击败UAC的整个点。
签署可执行文件只会显示发布者。
答案 1 :(得分:1)
基本思想是首先安装在本地系统帐户下运行的服务,此服务将启动更新安装程序,以便更新可以绕过UAC,并且不强制最终用户以管理员身份运行。如果您不想自己开发,可以使用第三方解决方案:
http://www.autoupdateplus.com/
当您的用户首次安装您的应用程序时,会安装“更新程序服务”,并且所有后续更新都可以保持静默。
(我们以前使用AutoUpdate +,但后来决定推出我们自己的应用程序的完整安装程序文件并静默运行。这是AutoUpdate +无法实现的,我们必须使用更改的文件创建更新包,这太麻烦了,有太多的错误空间。)
答案 2 :(得分:0)
我找到了它的一个解决方案,比如如果我在安装我的EXE之前执行以下操作,那么在安装后我会恢复它。那么,我希望我的目的得到解决。
[登记处]根:“HKLM”;子项:“SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System”; ValueType:dword; ValueName:“ConsentPromptBehaviorAdmin”; ValueData:“0x00000000”
答案 3 :(得分:0)
您可以将其安装为用户软件。这样,您就不会遇到UAC的问题,因为它不是系统范围的软件。 ProgramData必须存储在“用户文件夹”中,并且“注册设置”必须在CurrentUser下进行。
不确定是否要这样做。
但是无论如何。您不必照顾UAC。公司将拥有具有提升权限的部署服务器,因此静默部署不会在该服务器上强制显示UAC消息。
UAC消息是正常行为