Silent Installer Tips. There are many different installer types out there, each with their own ways of handling silent installs. The information below is an attempt to cover the options that would be used in a typical campus install in SCCM. In the past, I’ve used two excellent websites to find installer switches: AppDeploy (now ITNinja) and Unattended Installers. While I prefer MSI deployments, sometimes you are stuck deploying an EXE. Finding silent switches for these apps can be time consuming. Like most things in IT, there is a better solution. 3.2 Installer Usage. Generated installers and uninstallers accept a few options on the command line. These options give the user a bit more control over the installation process. 3.2.1 Common Options /NCRC disables the CRC check, unless CRCCheck force was used in the script. /S runs the installer or uninstaller silently. Nullsoft Scriptable Install System is a script-driven Installer authoring tool for Microsoft Windows with minimal overhead backed by Nullsoft, the creators of Winamp. NSIS is released under a.
Original author(s) | Nullsoft |
---|---|
Developer(s) | NSIS Team and NSIS Community |
Initial release | 31 July 2001; 18 years ago[1] |
Stable release | 3.04 / 16 December 2018; 9 months ago |
Repository | |
Written in | C, C++ |
Operating system | Windows, Mac OS X |
Type | Software development tools |
License | zlib License |
Website | nsis.sourceforge.io |
Nullsoft Scriptable Install System (NSIS) is a script-driven installer authoring tool for Microsoft Windows backed by Nullsoft, the creators of Winamp. NSIS is released under a combination of free software licenses, primarily the zlib license.[2] It has become a widely used alternative to commercialproprietary products like InstallShield, with users including Amazon.com, Dropbox, Google, Ubisoft, FL Studio, BitTorrent, and McAfee.[3]
- 2Script examples
- 3Concepts
- 3.2Modern user interface
History[edit]
NSIS was created to distribute Winamp.[4] It is based on a previous Nullsoft product, PiMP (plugin Mini Packager), and is also known as SuperPiMP. After version 2.0a0, the project was moved to SourceForge where developers outside Nullsoft started working on it on a regular basis. NSIS 2.0 was released approximately two years later.
NSIS version 1 is in many ways similar to the classic Windows Installer, but it supports more compression formats. NSIS version 2 features a new streamlined graphical user interface and supports LZMA compression, multiple languages, and an easy-to-use plugin system.
In January 2006 NSIS was SourceForge's project of the month.[5][6]
Script examples[edit]
Hello world![edit]
Simple installer[edit]
Concepts[edit]
Script[edit]
The NSIS compiler program makensis compiles scripts like the following example into executable installation programs. Each line in the script contains a single command.
Modern user interface[edit]
Version 2.0 introduced a new optional streamlined graphical user interface called Modern UI (MUI). The MUI has a wizard-like interface. It supports a welcome page, finish page, language selection dialog, description area for components, and greater customization options than the old user interface.
Since NSIS version 2.30 (Released on 25 August 2007) there is new version (beta) of this UI accessible: Modern UI 2 (MUI2) which is an enhancement to Modern UI. Unlike the old MUI this version is based on nsDialogs instead of old-fashioned InstallOptions .ini files.
From version 2.34 (Released on 24 December 2007) this MUI2 is ready for mass consumption and it is included in all NSIS packages. Also all examples had been switched to it.
Modern UI 2 documentation.
Graphical interfaces[edit]
NSIS projects can be configured by simply editing text files (with .nsi extension). However, several third parties provide editing software:
- EclipseNSIS is a module for the Eclipse platform. It allows NSIS scripts to be edited, compiled and validated.
- HM NIS Edit (freeware) editor with support of custom C++ or Delphi plug-ins.
- Venis (freeware) editor
- Visual & Installer is an add-in which integrates NSIS with Microsoft Visual Studio IDE and allows to create and build NSIS projects right within it.
Installer interfaces[edit]
Several projects that extend or replace the Modern UI have started in the past few years. Interfaces such as the ExperienceUI and UltraModernUI completely change the style of the installer by skinning it to look like the InstallShield interface. Other interfaces like installSpiderUI aim for a more minimalistic approach on the visual side of things while maintaining the same level of functionality as the ASD.
Plugins[edit]
NSIS can be extended with plugins that can communicate with the installer. Plugins can be written in any unmanaged programming language capable of building a dynamic-link library (such as C, C++ or Delphi), and they can be used to perform installation tasks or extend the installer interface. A plugin can be called with a single line of NSIS code.
Several plugins come with the NSIS package that permit the installer to display a splash screen, display a custom page, display an image on the background, download files from a website, perform mathematical operations, patch files and more.
Other plugins are available online, including ZipDLL, and a Python plugin.
Features[edit]
NSIS supports the following features:[7]
- zlib, bzip2, and LZMA compression
- Script-based
- Multilingual
- Plugin support
- Script preprocessor
Generated installer[edit]
The generated installer is a Portable Executable, with the installation files archived within the installer, a 34 KB overhead for the NSIS installer,[7] and the installation script compiled into executable code. As the installation script is compiled, the script cannot be obtained from the delivered executable without reverse-engineering the binary.
The archive may be unpacked using either 7-Zip, the Total Commander plugin 'InstallExplorer', or the predecessor by the same name for the FAR Manager.
The archive contains several folders:
- $PLUGINSDIR : installation routine plugins
- $INSTDIR : files used during the installation
- $_OUTDIR : files to be installed.
The generated installer includes command line arguments in order to give users more control:[8]
- /NCRC disables the CRC check, unless the script forces it
- /S runs the installer/uninstaller silently.
- /D sets the default installation directory. It must be the last parameter and must not contain any quotes. Only absolute paths are supported.
Unicode support[edit]
Versions of NSIS before 3.0 did not support Unicode, but only a means to convert some files to different encodings via a plugin.[9] However, a variant of NSIS that has full Unicode support is available.[10] Notable projects using this variant are:[11]
- Google (Picasa)
- Apache OpenOffice for Windows
- Mozilla (Firefox, Mozilla Thunderbird)
With the release of version 3.0 of NSIS, Unicode support can be implemented using the compiler directive 'Unicode true'. This gives full Unicode support with no further code changes, but the installer will not run under Windows 95/98/Me.[12] As of 2016 before the 3.0 release NSIS was available in the PortableApps format for Unicode 2.46.5 Rev 3 and ANSI 2.51.[13]
See also[edit]
References[edit]
- ^NSIS 1.x Version History - NSIS wiki
- ^'NSIS licence page'. NSIS.
- ^'Users - NSIS'.
- ^Winamp 2.60 released, From Betanews, 2000-02-14, Tweakers, ...namely featuring a new 'SuperPiMP' installation system...
- ^SourceForge.net Project of the Month in January 2006
- ^'OpenCandy Installer Platform Comparison'. Archived from the original on 27 June 2011. Retrieved 27 June 2011.CS1 maint: BOT: original-url status unknown (link)
- ^ ab'Features'. NSIS.
- ^'installerUsage'. NSIS.
- ^'Unicode plug-in'. NSIS.
- ^'Unicode NSIS Project Page'.
- ^'Unicode NSIS Project Users'.
- ^'NSIS Users Manual Chapter 1'. NSIS. Retrieved 26 May 2015.
- ^'NSIS Portable'. PortableApps.com. 19 May 2016. Retrieved 4 July 2016.
External links[edit]
Wikimedia Commons has media related to Nullsoft Scriptable Install System. |
- Official website
- NSIS on SourceForge.net
- NSIS at Open Hub
Nullsoft Installer Parameters
Nsis Switch
Just to reiterate what I said in my previous post:
The vendor has chosen to use the Nullsoft Scriptable Install System (NSIS) to create an installation file for the Ogg Codec pack.
When the vendor created this file it appears they did not include the mechanism for a silent uninstallation. The functionality is there in NSIS, but has to be configured - if it wasn't, then silent uninstallations will not work.
The ideal solution to your problem would be for you to contact the software vendor and request that they include in their installation file the silent uninstall mechansim.
Good luck with that one....
The other option would be to install using the NSIS and then fashion an MSI to perform the uninstall task only- which you can run silently - which would be a dirty way to do it.
The final option would be to repackage the whole lot into an MSI, thus gaining the silent install/uninstall functionality of an MSI.
I'm not an expert on this installer and I've never had to really look at NSIS installer files, I've just read around the subject for 10 minutes - as I'd mentioned in my previous post.
If you do this too when you come across an issue and then if you're still stuck, post on the board - detail what you've attempted and how far you've got with your own investigations. You will find you'll get more of a response and assistance when you do post.
Hope that's made it as clear as crystal for you - I can't make it any clearer....
Dunnpy