Slashdot Mirror


NSIS 2.0 Final Released

nandhp writes "The NSIS (Nullsoft Scriptable Install System) project has finally released version 2.0 final. NSIS is a powerful open-source install system for Windows that is based on scripts. It was invented by Nullsoft for the distribution of WinAmp. You can get it here"

14 of 36 comments (clear)

  1. "install scripts" by Anonymous Coward · · Score: 2, Interesting

    You mean you don't just drag a folder somewhere and call it done?

    Seriously, why don't apps just look at their environment, fix whatever is missing, and not require any install script at all?

    1. Re:"install scripts" by RzUpAnmsCwrds · · Score: 5, Insightful

      Many apps do, but they usually provide an installer because it is more convenient. It is a single executable package which installs the application in the proper place (under Program Files if the application is half-ass decent) and adds a shortcut to the Start menu.

      Compare this to the folder method. You have to download a compressed archive, extract it, drag it to the proper folder, and create a shortcut (or alias or symbolic link) to the proper executable or executables (if the application has more than one program, such as a game and a level editor) in the proper location.

      Executable installers are generally very easy to work with:

      - Click on download link
      - Click "open"
      - App downloads to temporary location (WWW cache)
      - When download is complete, installer automtically opens
      - Click next a few times, click "I agree", click finish
      - App is installed

      This works 98% of the time.

    2. Re:"install scripts" by aled · · Score: 2, Funny

      I would like about how YOUR apps register their COM objects, DLLs, etc and repair themself, Mr. AC.

      --

      "I think this line is mostly filler"
    3. Re:"install scripts" by thentil · · Score: 2

      It is a single executable package which installs the application in the proper place (under Program Files if the application is half-ass decent)

      No. If the application is "half-ass decent", it allows me to specify where I want it installed in, and *defaults* to Program Files. There are some programs that I do not want installed under the program files directory (fortunately, most 'half-ass decent' programs do allow me to specify where I want it installed). The other thing I would like to see an end to is the spewing of dll's all over the place; they should, unless absolutely necessary, be contained within the application's directory...

    4. Re:"install scripts" by Chacham · · Score: 4, Informative

      Seriously, why don't apps just look at their environment, fix whatever is missing, and not require any install script at all?

      There are so many things involved in installation that makes your question one of sheer ignorance. Having worked at a Windows Installation software company, i'll mention a few.

      1) DLLs. In order for a DLL to be properly used in a system it must be registered. If it uses OLE, it must be "self-registered". That is, the DLL itself has a subroutine called OLESelf-Register, and it must be called in order to work so the OLE system knows where it is. For a quick example, find ComDlg32.ocx on a system (System or System32 directory) and choose proeprties. On the Version tab, in the list, you will see OLESelfRegister. To selfregister it (it doesn't hurt) go to start run and type regsvr32 ComDlg32.ocx. A dialog box then reports success.

      Common DLLs must be marked on the system as to how many program claim to use it. This is so it is deleted only after the very last program stops using it.

      Since the DLLs must be placed in the system directory, and the Windows directory is not always known, a system call to get the Windows directory is required.

      2) BDE. For those programs using the BDE, the installation process is under an NDA.

      3) Uninstall. Creating an uninstall can be painful. An automated system is nice.

      4) Installing ODBC. This takes various system calls to be done properly.

      5) INI writes. If an INI file is used, the official way to write to it is with as system call. (So NT can divert it to the registry).

      6) Temporary files. Creating a temporary files for the installation requires a unique name, and automatic deletion.

      There's so much more it's amazing, A very simple project does not need much other than a folder copy (assuming the user can make his own shortcuts). Most programs need some knowledge of Windows, and there is no reason for the programmers to waste their time there.

      Also, note, that a great deal of programmers are absolute morons. They having the slightest idea what to do. They can do VB, but when it comes to windows they haven't a clue. For them, an instllation system is a must.

      Also, now, with Windows Installer, the installation file must be a specific format. An installation system can make that for you easily.

    5. Re:"install scripts" by RzUpAnmsCwrds · · Score: 2, Interesting

      "Install scripts are left for system files, kernel drivers, non-app stuff."

      Than why did iTunes have a version whose install script deleted your hard drive in some cases?

      "A few moments later a window appears with a single icon and maybe a readme. Drag the icon somewhere, double click it and it runs."

      Somewhere? Oh, so you mean that you open your hard drive, find the applications folder, drag the icon in, and make an alias in the Dock.

      Thanks, but I'll take the Windows style.

  2. Yeah, SuperPIMPin! by TheSHAD0W · · Score: 3, Informative

    Just FYI, NSIS stands for the product's original name, the "Nullsoft Super-PIMP Install System", before AOL made them change it.

  3. Ssssshhhhh... by Doktor+Memory · · Score: 3, Funny

    Don't just come out and tell people about NSIS! That'll ruin everything!

    I like the fact that my competition thinks they have to drop 5-6 figures every year on commercial licenses for InstallShield or InstallerVISE, thank you very much!

    --

    News for Nerds. Stuff that Matters? Like hell.

  4. Another free/open source installer by aled · · Score: 4, Informative

    I also used Inno setup with good results. It had some features that NSIS didn't and we switched to it. Very good so far. It is actively being developed.

    --

    "I think this line is mostly filler"
  5. Details please by Hal+The+Computer · · Score: 3, Insightful

    Mind being a little more verbose? Some of us probably want to hear what features it had that NSIS didn't.

    --

    int main(void){int x=01232;while(malloc(x));return x;}
    1. Re:Details please by aled · · Score: 2, Informative

      It was more scriptable, it has a scripting language based on Pascal. Sorry I don't remember the details.

      --

      "I think this line is mostly filler"
    2. Re:Details please by Electrum · · Score: 3, Interesting

      Some of us probably want to hear what features it had that NSIS didn't.

      InnoSetup is VERY easy to use. It has a program that writes the config file for you. You can go from installing InnoSetup to having a perfectly working installer in under ten mintes. A disadvantage over NSIS is that the installer size overhead is much greater.

  6. Second Life uses NSIS by Critter92 · · Score: 5, Informative

    Second Life has been hapily using NSIS -- featuring Super-PIMP(tm) technology -- for 3 years. We played with just about all of the different installers and settled on NSIS because it generated by far the fastest installs and also created the smallest files. Throw in the fact that it was incredibly easy to use and you had a winner. We haven't switched over to 2.0, though.

  7. Python scripting for NSIS... by pschmied · · Score: 2, Informative

    And now for something completely different.

    It's...

    Python scripting for NSIS.

    Seriously, there are times when these scripting systems can't do the heavy lifting of a "real" scripting language. I've often thought that Python might be an ideal embedded scripting language for an installer, especially with Mark Hammond's excellent Windows Extensions.

    Has anyone used this NSIS/Python package? I suppose the only thing stopping me from trying at this point is my own laziness. Alas, this plugin requires that you track your own Python module dependencies.

    -Peter