Luke Turner
Luke Turner

Reputation: 334

Inno Setup silent install UAC

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.

Upvotes: 0

Views: 3586

Answers (4)

Jean Fiedler
Jean Fiedler

Reputation: 161

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

Upvotes: 0

Gergely Vandor
Gergely Vandor

Reputation: 11

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.)

Upvotes: 1

Subh
Subh

Reputation: 414

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"

Upvotes: 0

Deanna
Deanna

Reputation: 24263

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.

Upvotes: 3

Related Questions