parametersinno-setup

What do /SL5, /SPAWNWND, /NOTIFYWND and /DEBUGWND parameters mean in Inno Setup?


I've been debugging my script and realized that if query ParamCount, it returns 4 without me actually passing anything from the command line.

Then I checked what those parameters were like using GetCmdTail

Here's what I got:

/SL5="$3404B2,46402082,879616, <path_to_setup.exe>" /SPAWNWND=$2A05AE /NOTIFYWND=$3E0594 /DEBUGWND=$601F6

I've no idea what those things mean and I would like to fully understand it. What are /SL5, /SPAWNWND, /NOTIFYWND, /DEBUGWND? How and when should I use those? I would really appreciate if somebody could elaborate on that but keep the explanations as simple as possible at the same time.


Solution

  • Inno Setup installer has two processes. The primary process is a hidden one. It extracts the actual child installer to a temporary folder and executes it (elevating it to Administrator privileges if needed).

    The child installer needs to communicate with the primary process somehow. For that it receives number of arguments that contain window and interprocess communication handles. You hardly ever need to care about these. They are an internal Inno Setup stuff.

    A related question:
    Installer built by Inno Setup and SPAWNWND, NOTIFYWND parameters on UAC window.


    Note that since Inno Setup 6.2, those parameters are excluded by ParamCount and ParamStr (but not by GetCmdTail).

    A related question:
    Return only user-specified Inno Setup command line switches