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
74
votes
8 answers

Free software for Windows installers: NSIS vs. WiX?

I'm need to choose a software package for installing software. NSIS and WiX seem promising. Which one would you recommend over the other and why? Feel free to offer something else if you think it's better than these two.
John Smith
  • 4,402
  • 4
  • 32
  • 34
57
votes
2 answers

Exec vs ExecWait vs ExecShell vs nsExec::Exec vs nsExec::ExecToLog vs nsExec::ExecToStack vs ExecDos vs ExeCmd

Can I know what are the differences between each Exec, ExecWait, ExecShell, nsExec::Exec, nsExec::ExecToLog, nsExec::ExecToStack, ExecDos and ExecCmd, as in when to use which? I 've posted the various execute calls I know. I am trying to make a…
nawfal
  • 70,104
  • 56
  • 326
  • 368
51
votes
9 answers

How do I detect which kind of JRE is installed -- 32bit vs. 64bit

During installation with an NSIS installer, I need to check which JRE (32bit vs 64bit) is installed on a system. I already know that I can check a system property "sun.arch.data.model", but this is Sun-specific. I'm wondering if there is a standard…
user97629
  • 611
  • 1
  • 5
  • 3
46
votes
5 answers

How to replace the default logo in NSIS installer?

I would like to replace the default logo in my NSIS installer (see image below), but I cannot find anything about this on the internet. Can it be done?
laurent
  • 88,262
  • 77
  • 290
  • 428
44
votes
4 answers

How do I concatenate 2 strings in NSIS

How do I concatenate 2 strings in NSIS?
DogDog
  • 4,820
  • 12
  • 44
  • 66
39
votes
3 answers

Build NSIS script as a MSI package

Is there any way to compile the Nullsoft Installer Script (NSI) setup as a MSI package instead of an EXE?
NumberFour
  • 3,551
  • 8
  • 48
  • 72
39
votes
4 answers

Installer and Updater for a python desktop application

I am building a desktop app with python and packaging it to an exe with Pyinstaller. I would like to ship my application with an installer and also provide automatic and silent updates to the software like Google Chrome, Dropbox or Github for…
Thomaschaaf
  • 17,847
  • 32
  • 94
  • 128
39
votes
6 answers

How do you set directory permissions in NSIS?

I'm trying to build a Windows installer using Nullsoft Install System that requires installation by an Administrator. The installer makes a "logs" directory. Since regular users can run this application, that directory needs to be writable by…
Jay R.
  • 31,911
  • 17
  • 52
  • 61
35
votes
3 answers

NSIS Vs WiX Vs AnyOther Installation Package

Need to create a Installation Package that would need to a) install a Database, b) create database and tables, c) installed already created installable in Visual Studio, d) create ODBC datasource, e) copy files. f) create shortcuts, etc Can you…
Sandeep Jindal
  • 14,510
  • 18
  • 83
  • 121
35
votes
3 answers

How to detect windows 32bit or 64 bit using NSIS script?

I have written nsis script for java project.I have Batch file in my project.I have written batch file for commonly windows 32bit and 64 bit.After installing i have started batch file automatically using Exec command.Its woks fine in 32bit…
Ami
  • 4,241
  • 6
  • 41
  • 75
33
votes
1 answer

NSIS - How to include all folders from source to Installer

I have an application which consists one .exe, many .dlls and a few folders. I use NSIS to create an installer. It works but when I install the software, I don't see all the folders inside my application. What do I have to do to bundle all the…
AustinTX
  • 1,322
  • 4
  • 21
  • 28
28
votes
3 answers

Saving NSIS Install Log

What's the easiest way to save the install log that is displayed in NSIS? I seem to remember reading somewhere that you can recompile the NSIS code with a special flag to enable it to save the log. Is there an easier way?
onedozenbagels
  • 2,242
  • 2
  • 19
  • 21
28
votes
1 answer

How to create an installer with CMake + CPack + NSIS on Windows?

I'd like to create a cross-platform installer for a C++ based system I am building. I use CMake to build everything, and it would be great if I could use CPack to make the installer. I already have CPack working on OSX, but I cannot get it to work…
sklum
  • 537
  • 1
  • 6
  • 13
28
votes
4 answers

Copy a directory using NSIS .

I can't seem to find any information about how to copy a directory using NSIS ?, i know there is a file command but is there any command to copy a directory .
rajat
  • 3,415
  • 15
  • 56
  • 90
27
votes
2 answers

NSIS get path of current installer file that is running

Is there an NSIS var to get the path of the currently running installer?
Brian R. Bondy
  • 339,232
  • 124
  • 596
  • 636
1
2 3
99 100