Questions tagged [nsis]

This tag is used for questions about the open source Nullsoft Scriptable Install System (NSIS) setup generator.

Details

Being a user's first experience with your product, a stable and reliable installer is an important component of succesful software. With NSIS you can create such installers that are capable of doing everything that is needed to setup your software.

NSIS is script-based and allows you to create the logic to handle even the most complex installation tasks. Many plug-ins and scripts are already available: you can create web installers, communicate with Windows and other software components, install or update shared components and more

Getting Started

IDE

Plugins

NSIS comes with a variety of plugins

Plugins are usually one .dll file and an .nsh file. To Install Plugins you need to copy the dll to C:\Program Files\NSIS\Plugins and the nsh file to C:\Program Files\NSIS\Include
See : How do I install a Plugin

Useful Plugins

Tips

  1. You can use the the LogicLib which comes as part of the installation to use if conditions in your script (this is not directly available). All you need to do is:

    !include 'LogicLib.nsh'
    

    And then:

    # ...
    ${If} $0 == "hello"
        DetailPrint "world"
    ${Endif}
    

    See this for details.

2580 questions
6
votes
1 answer

Is there any NSIS Best Practices or Coding Standards around?

I'm creating several NSIS installers and as my expertise in this thing grows up I'm no longer happy with just making things work, I would like to see if there are some best practices or coding standards around this language, like how to write…
levhita
  • 2,161
  • 2
  • 21
  • 31
6
votes
2 answers

NSIS substring by index

Is there any function which can cut string by letter index? I mean the X letters from the end? !define myString "abcdefg" I need to get for ex. "efg" i tried to do that with nsis strings functions but didnt found what can help me. ${StrStr} and all…
user2269104
  • 207
  • 2
  • 7
6
votes
1 answer

Can output file directory be specified via command-line?

I have an .nsi file which I call via command-line to output the installer, like this: makensis fullPathToNsiScript This creates the installer in the folder where my nsi script is. I need to output it to a specific folder, say desktop. Is it…
nawfal
  • 70,104
  • 56
  • 326
  • 368
6
votes
6 answers

Is it possible for 32 bit NSIS to launch a 64 bit program?

I'm porting a windows program from 32 -> 64 bit. It has a 32 bit installer which is written using NSIS. Can I launch one of my new 64 bit exes using the 32 bit NSIS installer? I don't think there is a 64 bit version of NSIS...
Benj
  • 31,668
  • 17
  • 78
  • 127
6
votes
1 answer

How do I check if a component is selected in NSIS?

I would like to prompt the user for extra information if a certain component is selected, but I'm not really sure how to check that a given component is selected. It seems like http://nsis.sourceforge.net/Docs/Chapter4.html#4.9.13.2 might be…
Frew Schmidt
  • 9,364
  • 16
  • 64
  • 86
6
votes
0 answers

Silent install with Win7 and UAC plugin

I have an installer that can handle command-line parameters and /S silent installation. I recently upgraded the installer to better conform to standards for Vista / W7 UAC management by using the UAC plugin and switching the RequestExecutionLevel…
Seki
  • 11,135
  • 7
  • 46
  • 70
6
votes
3 answers

NSIS - Silent Autoupdate Application

I have an NSIS install kit for my .net c# application. Is there a way to silently autoupdate my application, considering that I already downloaded the new update (new NSIS app version) to local computer ? Thanks! :)
Adrian Pirvulescu
  • 4,308
  • 3
  • 30
  • 47
6
votes
0 answers

Using the bundled Maven NSIS Plug-in with maven 3.x

I've got an NSIS script for generating an installer for my Java app - I'd like to automate this using Maven. Rather than using the plugin at Mojo Project, http://mojo.codehaus.org/nsis-maven-plugin/, is it possible to use the bundled plugin…
CodeBuddy
  • 5,749
  • 1
  • 25
  • 30
6
votes
2 answers

NSIS visual studio color/font/intellisense

Does anybody have a color/font/intellisense add in for editing of NSIS files?
BlueShepherd
  • 593
  • 3
  • 12
6
votes
3 answers

NSIS Plugin "nsScreenshot" not working in Windows NT 6.x

I added a code that was published 3 years later than original plugin, but it still returns error... Code is straight forward imho ... but still I most likely miss some aspect ... See this code: { nsScreenshot NSIS Plugin (c) 2003:…
HX_unbanned
  • 583
  • 1
  • 15
  • 51
6
votes
1 answer

NSIS Function with more than 1 parameters

Can a NSIS Function have more than one parameter? Why wont this code compile? If I cant have more than 1 param for a function what are my other options(disregarding using a macro)? Compile error: Function expects 1 parameters, got 4. Usage:…
sazr
  • 24,984
  • 66
  • 194
  • 362
5
votes
1 answer

Can I have optional sections in an NSIS UNinstaller?

When building my installer, I can let the user choose which sections to install by calling !insertmacro MUI_PAGE_COMPONENTS How can I provide similar functionality in the uninstaller? I know how to make the sections themselves (thanks to the…
Jason 'Bug' Fenter
  • 1,616
  • 1
  • 16
  • 27
5
votes
1 answer

nsis: How do I create a start menu shortcut to open a folder?

My NSIS installer creates Start Menu links to run and uninstall my application. Using NSIS, how do I create StartMenu shortcut to open a folder in Windows Explorer?
Mark Beckwith
  • 1,942
  • 1
  • 18
  • 22
5
votes
1 answer

Deploy WAR to right WebApps folder

I am compiling my 1st NSIS script, and enjoying the learning curve. The app has already: Checks if machine is 64bit, aborts if 32bit. Looks for a JRE and installs one if not found. Installs Apache Tomcat 7 using a bundled installer. ExecWait…
jakc
  • 1,161
  • 3
  • 15
  • 42
5
votes
2 answers

Set value of InstallDir in a function, or set auto populate value somehow?

I'm creating an installer using NSIS. This installer actually installs two programs in two different directories in the same installer. I am doing this using the modern user interface (MUI) pages and simply calling MUI_PAGE_DIRECTORY twice…
Beau
  • 195
  • 1
  • 5
  • 14