Archive: How to launch an executable on the end of installation correctly?


How to launch an executable on the end of installation correctly?
I'm launching my Windows application this way after the installation completes:

    !define MUI_FINISHPAGE_RUN_FUNCTION "LaunchApplication"

...

Function LaunchApplication
ExecShell "" "$INSTDIR\Application.exe"
FunctionEnd

But this has a strange and undesired side-effect. Apparently is my application launched with admin rights.

I cannot drag & drop any data between a web browser (tested with Firefox and IE) and my application.

If I quit my application (the session started from NSIS), and restart it from the start menu icon everything works! - I can drag & drop to the browsers without problems.

So I suspect since in the beginning of installation there is a UAC request, somehow UAC rights are transferred to the process I'm launching after installation. Since the browsers run in a low security process Windows refuses to exhange any data with them (in the process instance that is launched with NSIS).

How to launch an exe from NSIS, so that this UAC/security problem does not happen?

You have to use the UAC plug-in to resolve this.

Stu


Afrow, I'm already using the UAC plugin to elevate in the first place. What do I need to do additionally?


You can elevate without the UAC plugin the plugin gives you the ability to go "back down"...


How to back down? Unfortunately there is no documentation, because the UAC plugin is not available anymore on the nsis plugin page:

http://nsis.sourceforge.net/UAC_plug-in