5

Using NSIS, how can I read a (optional) command-line parameter provided to an uninstaller?

I don't need to read it by name-- just reading the first parameter given could be enough.

Cuga
  • 17,668
  • 31
  • 111
  • 166

2 Answers2

12

For anyone else's benefit, here's the actual code I used.

Program executed with parameter:

C:\path\to\program.exe -SELECT-DATA=FALSE

Then inside the uninstaller's un.onInit method:

Function un.onInit
  ${GetParameters} $R0
  ${GetOptions} $R0 "-SELECT-DATA=" $R1
  MessageBox MB_OK "Value read: $R1"
FunctionEnd

Will pop up a message box with the value: FALSE

Cuga
  • 17,668
  • 31
  • 111
  • 166
7

Use the GetParameters and GetOptions helper functions in FileFunc.nsh (Included with NSIS)

Anders
  • 97,548
  • 12
  • 110
  • 164