Nsis Silent Install Switch

Posted on by
  • I have an NSIS installer executable which I would like to install silently for all users. I know I can pass the /S argument to do a silent install. How to Install an NSIS Executable Silently For All Users. Otherwise you have to ask the author of the installer if they are checking for a specific command line switch.
  • Silent install with Win7 and UAC plugin. In the 0 case of the switch. If the NSIS dilaog is not visible (or not existent?) due to silent mode, could it make fail.
  • Hey guys I was wondering how to get the full VLC install while using the /S switch. Is there a way to just have it do a complete and silent install?
  • I have an NSIS installer executable which I would like to install silently for all users. I know I can pass the /S argument to do a silent install. The problem is that the default option for the installer is to install only for the current user.
  • The Silent Install options for NSIS installer. /S: Runs the installer in silent mode /SD: Complitely silent mode. Supress messageboxes.

Useful silent install parameters for NSIS are: installer.exe /S /D=C: tools myApp Out-of-the-box this installer doesn’t accept any other silent install parameters than /S and /D.

Active5 years, 7 months ago

I'm trying to build an NSIS installer that will do the following:

Nsis Silent Install Switches

1 When run normaly it will install the application with a installer with the usual choices.

2 When the installer is run with /S switch it silent installs, it's ok if it shows UI. But it should be automatic.

Nsis Silent Install

It seems to me that the installer 'works', as it runs and then correctly starts the application again. But it has not updated anything, it's almost as if it runs, but does not copy any files.

When it's a silent install, it's started by the following code ( Application updates itself)

NSIS script main ( I can post support scripts for NSIS that are custom if ppl desire )

Nsis Silent Install SwitchDavid Hall
28k10 gold badges79 silver badges116 bronze badges

Nsis Silent Install Switches

EKSEKS
3,6695 gold badges35 silver badges56 bronze badges

2 Answers

StrCmp $0 1 0 +3 is wrong, it should be +2 (+3 in this example is probably undefined behavior since you are skipping the hidden return instruction).

Using relative jumps is error prone, you should use a label or rewrite it using the logic lib:

But putting the silent install logic in a separate function doubles your work when the normal install logic is almost equal. You should be able to remove the SilentInstall function and just use a hidden section to execute during silent installs:

It is hard to say why your files are not updated, but if you use shared code you can run it without /S and check the detail log. My only guess is that InstallDirRegKey is picking up a non default installdir and you are looking at the wrong files. You can Process Monitor to monitor the install.

Then fill the container with oil I used hydraulic oil some people use cooking oil or mineral oil. Ignition coil driver kit. 'Connect the light globe to the hv supply of the coil, by wrapping a bit of wire on the bottom of the globe, make sure the wire is touching the input points that go to the filament, connect the other end to the hv supply. Mine anyway yours may be different.

Your code has some other unrelated issues:

  • RequestExecutionLevel admin is not enough, you need to deal with NT5 and NT6 with UAC off (UserInfo::GetAccountType)
  • You don't have to specify the shortcut icon when the icon is the same as the target program
  • You should quote the path when calling Exec: Exec '$instdir${_AppExe}'
  • Mixing UAC/runas/RequestExecutionLevel admin with Exec is problematic since you can end up running the program as the wrong user.
AndersAnders
74.6k10 gold badges79 silver badges131 bronze badges

Nsis Silent Mode

This is a tricky one. I am using the same approach to update an application of mine, calling an NSIS installer silently. In my case, the problem did not lie in the NSIS script, it was that I was using the WebClient class to download a zip file containing my installer to the temp directory, and subsequently extracting it there, and running it from there. The problem is that the ZipFile class generates an exception if the extracted setup file exists, and hence the old installer persists, and nothing except the uninstall executable is updated in the program directory.

Alla tv program sverige. For me, the solution was to clean up the old zip and exe files before downloading the new ones (in VB.NET):

Nsis Command Line Switches

hl2gordonhl2gordon

Nsis Silent Install Switch Switch

Not the answer you're looking for? Browse other questions tagged c#installernsis or ask your own question.