Inno Setup Admin Privileges Required

I'm creating an installer using Inno Setup. As part of the install process I'm installing Tomcat. On Windows 7 I suffer from the problem described here:

I can fix it by manually setting the 'Run as administrator' on tomcat7w.exe (the issue and the root cause is the same for tomcat7 as well), but I don't know how to do it through Inno Setup.

Download InnoExtractor. Extract internal files from Inno Setup installers, create ZIP or SFX files, open files without extraction, run VirusTotal checkups, and decompile code.

I'm finding threads that explain running some_program.exe as administrator, but here the program is started when the Tomcat service starts (e.g. on machine start-up), so I need a way to flag it using Inno Setup to 'Run as administrator' rather than actually run it.

Uwe Keim
28k32 gold badges141 silver badges225 bronze badges

How To Get Admin Privileges Windows 10

learnAndImprovelearnAndImprove

How To Get Admin Privileges On Xp

5902 gold badges10 silver badges19 bronze badges

3 Answers

Inno Setup Admin Privileges Required Download

You can add a Registry entry in [Registry] Section that will set run as Administrator as a default action for running this app.

Example:

RobeNRobeN
4,2811 gold badge22 silver badges43 bronze badges

If you really want to set the 'Run as administrator' flag of the shortcut (as opposite to forcing the target application run with administrator privileges), you can use this code:

This is based on:

  • LinkFlags in [MS-SHLLINK]: Shell Link (.LNK) Binary File Format;
  • How to create a Run As Administrator shortcut using Powershell;

Tested on Unicode version of Inno Setup. But it should, even more naturally, work on Ansi version too, though you should use Unicode version anyway.

If you want to allow user to execute the program at the end of the installation using a postinstall entry in [Run] section, you will of course need to explicitly request the elevation.

If the installer runs with Administrator privileges, you can simply add runascurrentuser flag:

If the installer runs without Administrator privileges, set Verb parameter to runas (for that you also need shellexec flag):

Though, make sure you have a very good reason to run your application with Administrator privileges. User applications should not need Administrator privileges. If they need it, it's usually a sign of a bad design. One common (bad) reason to want an application to run with Administrator privileges, is that the application needs to write to its installation folder.

See Application does not work when installed with Inno Setup

Martin PrikrylMartin Prikryl
97.6k23 gold badges201 silver badges420 bronze badges
Inno

Add the runascurrentuser flag attribute to the [Run] section

Martin Prikryl
97.6k23 gold badges201 silver badges420 bronze badges
Mehdi BenkiraneMehdi Benkirane

Not the answer you're looking for? Browse other questions tagged inno-setupelevated-privileges or ask your own question.

Comments are closed.