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
9
votes
1 answer

nsis uninstaller doesn't remove links

I have this issue: in the installer sections I have this; Section "Start Menu Shortcuts" SetShellVarContext current CreateDirectory "$SMPROGRAMS\myProgram" CreateShortCut "$SMPROGRAMS\myProgram\myProgram.lnk" "$INSTDIR\myProgram.exe" …
ghiboz
  • 7,863
  • 21
  • 85
  • 131
9
votes
1 answer

How can i change welcome page image in my installer?

I want to change nsis welcome page default image in welcome screen so i am trying to use following code .But these are showing blank. CODE: !define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\NXP.bmp" !define…
user1956909
9
votes
4 answers

NSIS Detect Windows Version

In NSIS is there a way to determine what version of windows the user is currently running? The reason I want to do this is because my installer looks different on a Windows XP computer. My installer uses MUI2 but I dont seem to have the same GUI…
sazr
  • 24,984
  • 66
  • 194
  • 362
8
votes
3 answers

Sign NSIS installer on Linux box

Currently I generate an installer for a program using NSIS on a Linux machine. The NSIS binaries have been compiled for Ubuntu, and using the .nsi script presents no difficulties. However, the resulting setup.exe file is unsigned. This results in…
Thorn G
  • 12,620
  • 2
  • 44
  • 56
8
votes
2 answers

how to get the exit code of other application in nsis

In my .nsi file I am calling ExecWait '"$INSTDIR\application.exe" ' $0 . In application.exe I am returning exit codes for success and failures. How to catch those exit codes in .nsi file.
user1234
  • 289
  • 6
  • 13
8
votes
8 answers

NSIS - File /x doesn't exclude files/directories as claimed

I have a directory structure that needs to be added to the installer. I have 3 different versions of my install script, and one of them being an upgrade script, requires excluding a certain file and a subdirectory within my install directory. So I…
Rex
  • 801
  • 1
  • 17
  • 26
8
votes
1 answer

Is there any switch for silent uninstallation?

Is there any switch for silent uninstallation? like we do /s while installing. I tried the same with uninst,exe but didn't work.
logeeks
  • 4,849
  • 15
  • 62
  • 93
8
votes
2 answers

Nullsoft installer, howto make ProgramData subfolder writable

ProgramData folder is the best place for storing your application's writeable files shared by all users. But when Nsis installer is run with admin privileges (which is required to write to Program Files), then folders and files created in…
SiliconMind
  • 2,185
  • 4
  • 25
  • 49
8
votes
3 answers

NSIS check state of Windows Service

I am writing NSIS script and i need to check service state (Running/Stopped/Paused/No exist) and to make some actions then. But i can`t use any user libs such as nsSCM. I found a script sc QUERY ServiceNameHere | FIND "RUNNING" but i can`t find…
E-Max
  • 401
  • 5
  • 14
8
votes
2 answers

Removing branding from NSIS installer

Could any one help me to remove the "Nullsoft" label in NSIS installer? Please refer the image below.
RoboAlex
  • 4,895
  • 6
  • 31
  • 37
8
votes
2 answers

NSIS - download and decompress zip file from the internet

I would like to create NSIS installer that during the installation process checks on the www whether there is a newer application version (number). If in the network exists newer version than version provided witch installer, the installer should to…
Przemysław Michalski
  • 9,627
  • 7
  • 31
  • 37
8
votes
4 answers

Deploy web application as a standalone executable

I have a web application that I developed with the Google Web Toolkit (GWT), it is a utility application that helps make calculations when planning specific server deployments. I want to be able to offer this application as a download on my website…
snctln
  • 12,175
  • 6
  • 45
  • 42
8
votes
2 answers

NSIS - printing to prompt during command line install

I'm making installers for windows using NSIS and have a number of custom install options that the user can specify using the command line, for example: installer.exe /IDPATH=c:\Program Files\Adobe\Adobe InDesign CS5 /S What I want to do is show…
MatsT
  • 1,759
  • 3
  • 20
  • 33
8
votes
4 answers

Installing drivers from NSIS installer in x64 system

I want to add support for x64 OSes to my NSIS installer. One of the installer's task is drivers installation. I've written a special NSIS plugin for this task. This plugin uses Driver Install Frameworks API (DIFxAPI) to install drivers. The problem…
Alex Che
  • 6,659
  • 4
  • 44
  • 53
8
votes
4 answers

writing current date & time as file name using NSIS

I developed an installer using NSIS. Every time I re-install the application, I want to create a backup of the existing database files. How can I rename these database files using the following format 'currentdatetime'(ex: 201003101140 means…
vikaskardode
  • 81
  • 1
  • 4