bedbuffer
23rd April 2009 07:32 UTC
Is it possible to silently run an NSIS installer in VISTA?
I made an updater which silently runs in XP and works just fine. But when it comes to Vista, the idea of silent installation gets ruined when UAC prompts the user to cancel or allow the user from running the program.
Is there anything at all we can do about this?
Thanks...
Anders
23rd April 2009 10:22 UTC
if you don't require admin rights, just use RequestExecutionLevel user, if you DO, there is nothing you can do about it other than starting the installer from a already elevated parent process (batchfile etc)
bedbuffer
24th April 2009 04:01 UTC
I used "RequestExecutionLevel user"... it does the trick for user level. But for admin, UAC prompt still comes out...
Comperio
24th April 2009 04:13 UTC
That's how UAC is supposed to work.
The only way to suppress the prompt with UAC enabled is to have an application manifest set to run as a normal user (RequestExecutionLevel user)
AaronLS
24th April 2009 05:02 UTC
Originally posted by Anders
if you don't require admin rights, just use RequestExecutionLevel user, if you DO, there is nothing you can do about it other than starting the installer from a already elevated parent process (batchfile etc)
Would it be possible to have an "updater" windows service running at admin rights which downloads and runs the update?
Just a side note on batch files in Vista. I've found you have to right click them and choose "Run as admin...". If you just double click them, and they try to do something that requires admin rights, then they will often simply fail silently with a "permission denied" or a similar error(which you won't see when the console window flashes up breifly), rather than prompt for UAC.
Anders
24th April 2009 09:12 UTC
yes, it would be possible, but the service would require a UAC prompt during install (but, please, don't fill your end users systems with useless services)
Look at firefox, it will show a UAC dialog when you apply updates.