user1608732
user1608732

Reputation: 31

Innoscript - Getting current user profile informations

I am trying to create a application using innoscript. I need to create/edit registry information values in HKLM. Hence I need admin privileges to install the application.

However, if a non admin user try to install the application, innoscript require admin user password, once they enter the admin user password, whenever I query the registry in installation script (say, HKCU), it retrieves information from the admin user. But I would like to get information from the currently logged in user. As a result, program installed under the admin user location instead of current logon user account.

Is there a way to get current logon user user and user app data location from innoscript, when the application is started with Run as administrator or prompted admin user.

Awaiting your update.

Thanks,

Upvotes: 2

Views: 2128

Answers (2)

Miral
Miral

Reputation: 13075

The installer is not supposed to read or modify any per-user state (including HKCU) during a per-machine installation (and there is no way to do so reliably). You should instead make the application itself do this on first run (by trying to read the appropriate location and assuming default values if they were not found).

Remember, an application is installed once, but can then be run by several different users. This behaviour is essential.

Upvotes: 1

Lex Li
Lex Li

Reputation: 63243

An easy workaround is to move your logic to an executable instead of Pascal script. Then you can call this executable in [Run] section,

http://www.jrsoftware.org/ishelp/index.php?topic=runsection

Remember to mark the Run item as runasoriginaluser.

Upvotes: 0

Related Questions