0
votes

I am trying to construct a silent install using Inno Setup. I am using the /SILENT and /VERYSILENT command parameters, and everything works fine, except for the UAC window popping up at the start.

How do I get around this issue?

I have found a few posts loosely mentioning about using SignTool, but other sources have said that this will simply change the UAC box blue with the publisher parameter filled.

Can anyone help here? The scenario is an installer which will be distributed over the internet to update existing software on a machine silently without any user interaction.

4
I think you are trying to break the security rules.Slappy
Hi Luke Turner, have you find a solution for this issue?yo2011
You cannot bypass the UAC prompt to automatically evevate from a non-elevated to an elevated session. (If this were possible, it is exactly what malware would do.)Bill_Stewart

4 Answers

2
votes

To run a setup elevated without the UAC prompt, you need to run it from something that is already elevated. It would defeat the entire point of UAC if programs could elevate without the user controlling access.

Signing the executable does just show the publisher.

1
votes

The basic idea is to first install a service that runs under the Local System account, and this service will launch your update installers so that updates can bypass UAC, and don't force the end user to run as admin. If you don't want to develop one on your own, there are 3rd party solutions like this:

http://www.autoupdateplus.com/

When your users first install your application, an "updater service" gets installed, and all subsequent updates can be silent.

(We used to use AutoUpdate+, but later decided to roll our own which just downloads the full installer file of our appliation and runs it silently. This wasn't possible with AutoUpdate+, we had to create update packages with the changed files, which turned out to be too much hassle, with too much room for error.)

0
votes

I have found one solution of it, like If I do the following before Installing my EXE for temporary then on post Installation I revert it. then, I hope my purpose get solved.

[Registry] Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"; ValueType: dword; ValueName: "ConsentPromptBehaviorAdmin"; ValueData: "0x00000000"

0
votes

You can install it as User Software. Then you have no problems with UAC because it is no system wide software. ProgramData must be stored in User Folders and Registery Settings must be done under CurrentUser.

Not sure if you like to do that.

But anyway. You do not have to take care of UAC. Companies will have a deployment server with elevated rights so silent deployment will not force there a UAC message.

The UAC message is the normal behavier