kevin_gale
3rd June 2009 17:46 UTC
RequestExecutionLevel and XP - Help Required
Hi.
We are converting our installers from Inno Setup to NSIS and one thing that we would like to continue to do is force the user to run the installer with admin privileges (XP & Vista). Currently, this is achieved via the Inno Setup 'PrivilegesRequired' command.
I know this can be done with NSIS installers when running under Vista via 'RequestExecutionLevel' but is there a way to force the same under XP? Currently, the installer just runs as the current user level and fails while copying files due to locked down privileges.
We would prefer to do it in such a way that the operating system stops the installer from running as it means that all messages will be localized by the operating system (the way it works with our Inno Setup installers). It is also much nicer than letting the installer run, checking the privileges and then quitting with a message telling the user to re-launch.
Our installer will be using the Unicode version of NSIS if this makes a difference to the solution.
Best Regards,
Kev.
Anders
3rd June 2009 20:12 UTC
use the UserInfo plugin in .onInit or .onGuiInit
kevin_gale
3rd June 2009 20:19 UTC
Hi Anders.
Thanks for your reply.
I guess using this plug-in means that the installer has to actually run before we can detect the authentication level?
This is something we can do as a last resort but it means translating the message into 11 (soon to be 15+) languages.
It would be nice if we could embed the relevant manifest so that Windows handles this in the same way as it does for Vista rather than our installer script having to do it.
Regards,
Kevin.
Anders
3rd June 2009 20:32 UTC
That feature was added to Vista because of UAC, on XP, you are on your own
kevin_gale
4th June 2009 10:24 UTC
Hi Anders.
Thanks for your reply.
Is there an official place to post enhancement requests?
We can live with this limitation for the moment but it would be great if we could address it in a future version.
Technically, it is possible as Inno Setup does it so I guess it is just a case of someone implementing the relevant code.
Cheers,
Kev
Anders
4th June 2009 10:33 UTC
Other than having to translate the strings, I don't understand what more you want. I guess you could request a generic admin required message to be added to the official language files @ http://sourceforge.net/tracker/?atid...49&func=browse
kevin_gale
4th June 2009 11:10 UTC
Hi Anders.
It looks like I was mistaken.
I was under the impression that XP was handling the alert when running our Inno Setup installer. However, it appears that it is actually Inno Setup doing the checking rather than Windows.
Sorry, for wasting everyone's time.
Kev.