Nsis Vs Installshield Free
Kichik8th July 2003 15:56 UTCWell, basically InnoSetup is based on INI file while NSIS is based on a script. Though InnoSetup allows you to use VCL in it (objective Windows 'scripting' with Pascal), NSIS is entirely scripted. From extracting files, registering DLLs and writing to registry keys to showing message boxes you control the flow of anything in the installer.Both installers feature bzip2 and zlib compression. The overhead of NSIS is about 34KB, while InnoSetup's overhead is 200-300KB (I don't remember the exact number).
This means that the basic installer size of NSIS is around 34KB while in InnoSetup it's around 200-300KB.Both installers feature plug-in ability, though NSIS has many more plug-ins unless I have missed InnoSetup's plug-ins archive.Both installers supply a modern UI, but NSIS lets you change the UI to whatever you want. NSIS lets you add images, URLs (in the latest CVS version of InstallOptions - a plug-in), and change position and sizes of controls. NSIS is generally more customizable, or is at least built with that thought in the mind of the developers.I'll post here later if I have anything to add. I'm sure others will have something to say too. Kichik8th July 2003 16:24 UTCI mean that to create a InnoSetup installer you have to write an INI script and to create a NSIS installer you have to write a script.
The difference is that for InnoSetup it's usually a shopping list. Your INI file tells InnoSetup do this, then this, then this and then this. When you reach that stage do this, this and then this. You can't do two things that are not of the same type in two different sections. You can't for example tell InnoSetup to write a registry key after you extract the first file and before you extract the second file. I bet you can do it with the VCL scripting language I have told you before, but it would require converting the whole thing to work with it.NSIS on the other hand is based on a scripting language.
It means you control the flow of the installation. You combine everything in everything, check for errors and handle them yourself, use variables to store user input or values you've read from whatever source you'd like and use them for output names, message boxes and whatnot.So the difference is that in NSIS the default is full control, while in InnoSetup, though it's possible to use some sort of scripting, the default is to have minial control and just let the installer do the default in its own order. Jcagle9th July 2003 17:37 UTCI like the idea of NSIS creating a smaller installer than INNO. However, and let me play devil's advocate here, smaller is not always better;)If the NSIS installer is smaller and has the same or more functionality, then I am all for NSIS. But, if the installer is smaller and has LESS functionality.I guess I would have to determine if those 'missing' funtionalities are going to impact me.As far as functionality between INNO and NSIS, are they comparable? Does NSIS have more functionality?
There was an updated release some time ago which updated IS LE 2010 to IS LE 2011. I don’t know if it changed anything but the name, but the new update made things worse. Here are my personal top 5 reasons why InstallShield Limited Edition sucks. InstallShield Limited Edition causes Visual Studio 2010 to crash.
Does INNO?Thanks all. This discussion thread is exactly what I was hoping for!!! CodeSquid9th July 2003 21:36 UTCI like NSIS because it's small and is a turing-complete programming language.With NSIS you can do almost every possible calculation, only limited by the stack size (dunno, is there any limit at all?) and by the amount of memory, including secondary memory like harddisks (file operations).Take a look at the prime number generator script.And all this is possible without even using any plugins.And with the plugins I guess NSIS could fly a space shuttle to the moon, orbit it 666 times and fly back;-). Dick410th July 2003 04:15 UTCI use both currently and prefer NSIS because of its 'scripting' ability. As an example, I've written an NSIS script that runs an automated Installshield setup.NSIS extracts the installshield files and runs the 'setup.exe /s setup.iss' or whatever.
In this case, I used NSIS the same way I would use vbscript or another similiar 'scripting language'.I've written NSIS scripts to compact access databases chosen by the user in a custom drop down list via installoptions. I've written NSIS scripts to simply delete files and registry entries off users machines.
Nsis Vs Installshield Free Download
Also simply to distribute 1 file to a directory specified by a registry entry (this last thing, as simple as it is, is something I believe you need to go into the 'innosetup extensions' to do).I use Innosetup to distribute my installers that don't do anything but create a few registry entries and copy files into a location. The setup of an installer of this type, with an 'installshield' look to it, would take me an hour in NSIS and took me 10 mins in Innosetup. The installer asks me for a password, which is 1 line in Innosetup vs. An installoptions customization in NSIS. That alone would take me time to code and test.Also Innosetup supports disk spanning, whereas NSIS does not. This is also a reason why I use Innosetup for certain installs.They each have their use.NSIS consumes about 80% of what I use for 'installers'.And as far as support goes.I don't think i've ever posted a question here that didn't have some kind of response within 10 minutes.and most of my problems are solved the same day (as long as I'm smart enough to figure out what Kichik is saying:D )I've never used Innosetup's support because I never did anything at all complicated.
Jcagle10th July 2003 13:53 UTCThanks everyone! This is exactly the type of information I've been looking for!So, it's my understanding (from reading everyone's postings) that NSIS is a much more powerful installer. However, if all I wanted to do was a simple install (a few registry entries and copying files places), INNO is the way to go. Does this sound reasonable?With that said, let me pose this scenario.1) I have a VB application that I've created. I also have an external.DLL that I link into my app.
Installshield Free Download
Dick410th July 2003 14:45 UTCif some registry values already exist, I want to tell the user that they must uninstall the older version before installing this version.or, better yet, give them to option to uninstall the old version rightIt is for this reason that you may want to use NSIS. I haven't found how to 'read' a registry entry using Innosetup but truth be told I haven't looked hard, either.Innosetup will create a basic uninstall I believe of everything you installed.including registry entries. I'm not 100% sure of this. Jcagle10th July 2003 15:23 UTCAs far as the uninstaller is concerned.is it possible (without too much effort) to have NSIS uninstall in the two ways that I mentioned:1) Tell the user that they must uninstall the older version first, or;2) Give the user an option to uninstall the older version during the install of the newer versionAfrow UK, the problem is that I HAVEN'T decided what to use, yet. Although, I am beginning to lean towards NSIS because I want to know that I have that functionality.even though I might not need it now, it may be useful in the future. I would whole-heartedly move to NSIS now, but I'm kind of nervous about the ramp up time.although, there's probably ramp up time on any installer.Let's put it this way, if I will be able to do #1 and/or #2 above, I will probably start diving into NSIS:). Kichik10th July 2003 16:53 UTCTelling if an older version is installed depends on your program.
If you have a registry key you can read it using ReadRegStr, if there's a file in the Windows directory you can open it and check, etc. But it's usually very easy to do. To execute the uninstaller all you need to do is find out where it is and use 'ExecWait '$INSTDIRuninstall.exe' ?=$INSTDIR'. That extra ?= part is to make the uninstaller waitable (see the FAQ).To make this an option use a MessageBox to ask the user if he wants to do it. This too is very simple, just a few lines of scripts. Jamyn10th March 2006 14:56 UTCAlsoYep, NSIS can almost make you coffee if you put a little time into learning it.I'm not really replying to the original poster now, but mostly to those that may run across this thread in the future:If all you want is a 'simple' installer, and don't yet want to invest much time learning NSIS (although I'd say any time invested learning NSIS is worthwhile) - there is software out there that will help you simply create a basic NSIS installer with minimal effort, too:)See: page, listing a couple easy-to-use programs. Sangfroid7th September 2006 17:14 UTCCommand Line Compiler!!!Don't know whether InnoSetup can do this, but one of the main reasons i chose NSIS for creating an installer was that it was possible to create the installer from command line.
This made it possible for me to integrate setup creation to my build process which uses Apache ANT.(The decision was made to use NSIS just three days back and i already have a working installer/script with all necessary functionality. Thanks mainly to information from this forum).
NSIS (Nullsoft Scriptable Install System) is a professional open source system to create Windows installers. It is designed to be as small and flexible as possible and is therefore very suitable for internet distribution.Being a user's first experience with your product, a stable and reliable installer is an important component of successful 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.Featured 3rd Party Projects.