PDA

View Full Version : NSIS or InnoSetup?


tentons
03-21-2005, 09:19 PM
Anyone want to offer pros and cons for each of these? Learning curve, best features, worst problems, etc.

I'm more interested in a comparison of features from an indie game developer's perspective than an opinion of which is better. But anecdotes of your experience with one or the other or both would be very valuable and greatly appreciated as well.

Thanks!

Diodor Bitan
03-21-2005, 10:24 PM
I used Inno then switched to Nsis. Both did their job. Inno is easier to learn and use, Nsis seems more powerful. Nsis adds 30K to the download size overhead, Inno some 300K (this made me switch - to my 1MB games the overhead is significant).

Mark Fassett
03-21-2005, 11:03 PM
NSIS. The thing that sold me was the minimal initial footprint, and being able to run it from a command line. I also like the fact that, if I want to modify it, I can do it without having to buy delphi, though the chances of me doing that are between slim and none.

ManuelFLara
03-21-2005, 11:14 PM
I started with NSIS but switched to Inno (I think I did just the opposite everyone does :) Why? IMO it's easier and has all the features I want. It has also LZMA compression and (I think) NSIS doesn't.

Mark Fassett
03-21-2005, 11:35 PM
NSIS does have LZMA.

Coyote
03-22-2005, 03:46 AM
I haven't even tried NSIS, but Inno was very easy to use, yet it still gave me the power to customize some parts of the install process.

SonSon
03-22-2005, 04:22 AM
Tried Clickteam's Install Creator (http://www.clickteam.com/English/install_creator.htm) btw?

Mike Boeh
03-22-2005, 05:39 AM
It really doesn't matter which one you use :) I use Inno because I am too lazy to try NSIS...

James C. Smith
03-22-2005, 05:43 AM
Same story here. InnoSetup is very simple to use, does everything I want and does it very well so I never tried anything else.

joe
03-22-2005, 06:01 AM
Never tried InnoSetup because I'm very satisfied with NSIS ;)

Phil Newton
03-22-2005, 06:30 AM
InnoSetup here. Very easy to use, although as Diodor mentioned a 300K footprint makes a big difference. I'll probably try NSIS later, especially seeing as there's a utility to convert InnoSetup scripts to NSIS scripts.

george
03-22-2005, 07:37 AM
i used innosetup for about 5 years before switching to nsis...

though learning to use nsis is much harder than inno, once you learn nsis it's pretty easy. the main reason i switched to nsis is: more control, better scripting feature, and it's easier to create custom wizard pages/functionality. in inno, if i wanted to create a custom dialog, i would have to write a lot of code, in nsis, it only takes a few lines of code to create a custom page with many different controls and various functionality. (though i think in the newest inno versions they made creating custom pages much easier).

they are both great (and FREE!). the bottom line (IMHO): if you just need to create regular installs and the 300KB footprint doesn't matter to you, choose inno. if you need to do more than a regular install (custom pages, windows api functions, etc.), or you benefit greatly from the smaller footprint, definitely choose nsis.

i switched to nsis and will never go back :-)

Mike Boeh
03-22-2005, 08:22 AM
Is there anything like ISTool for NSIS?

Dingo Games
03-22-2005, 08:55 AM
Is there anything like ISTool for NSIS?
Maybe HM NIS Edit (http://hmne.sourceforge.net/)?

That's what I use to generate a basic script. Then I just go through the script and make any changes that need to be made... adding ifdefs for the demo version, etc. So you don't really need any kind of in depth knowledge of NSIS script.

Matthew
03-22-2005, 09:03 AM
and being able to run it from a command line.

To toss a quote FYI into the thread for everyone--you can compile Inno Setup installation scripts from the command line with ISCC.exe.

VladR
03-22-2005, 10:16 PM
i used nsis in 3 games already but always ended editing script files manually, because they couldn`t erase all dirs automatically and about 10-15 didn`t get erased. usually just a matter of half an hour during which you keep installing/uninstalling your game and checking whether all dirs are out.
so much for an automated process...

tentons
03-24-2005, 03:22 PM
I'll probably start with NSIS just because it's smaller and the IDE looks as friendly as what I've seen for Inno.

Thanks for the replies, everyone.

aiosup
03-28-2005, 08:20 AM
nsis [...] couldn`t erase all dirs automatically and about 10-15 didn`t get erased.
Same goes here, but for Inno. In the end, it's a matter of taste, but you guys convinced me to give NSIS a try... Thanks!

tentons
03-28-2005, 06:31 PM
I downloaded the IDE for NSIS and created a basic install script within 10 minutes. There's nothing difficult about it. So, all things being mostly equal, I'll got for the one with the smaller impact on my download size and the nice scripting language for more complexity later.

Thanks for everyone's feedback on this!

Daniel
04-02-2005, 06:00 AM
Inno here too.. and I'm also too lazy to switch! =)

For those of you who experience a big heap added to the file, have you tried adding the following lines to the [Setup] part:
Compression=lzma
SolidCompression=true
InternalCompressLevel=max

MattInglot
04-02-2005, 01:01 PM
NSIS is ridiculously small and for the most part very powerful. One major flaw is having to manually add a line in the script for every single last bloody file you wish to remove during uninstall. There's no way, afaik, to remove an entire folder or better yet, for it to automatically remove all the files that were added with some sort of flag. It's an annoying oversight when your program has over hundred files. You can of course write a script in PHP or C or something that generates the NSIS uninstall data.

Otherwise I love NSIS and highly recommend using it. Ever since they switched to the modern GUI there's no longer any aesthetic reason to not use it. Note I've never used Inno so I have no idea how it compares.

Mike Wiering
04-02-2005, 02:23 PM
One major flaw is having to manually add a line in the script for every single last bloody file you wish to remove during uninstall. There's no way, afaik, to remove an entire folder or better yet, for it to automatically remove all the files that were added with some sort of flag. It's an annoying oversight when your program has over hundred files. delete "$SMPROGRAMS\$YOUR_GAME_FOLDER\*.*"
rmdir "$SMPROGRAMS\$YOUR_GAME_FOLDER"

Diodor Bitan
04-02-2005, 09:55 PM
Original post by Lizardsoft
You can of course write a script in PHP or C or something that generates the NSIS uninstall data.

And you can call that script from within the installer script automating the whole process.

tolik
04-02-2005, 11:39 PM
I started with NSIS in 10 minutes.

There are dozens of easy-to-full-featured examples on the net and I quickly composed quite a good script (quick without components). Footprint size is awesome, now my bottleneck is Audiere/DUMB support for MO3/OXM. My 1st April game is ~113Kb, Flash wrapper itself adds ~700Kb, music is almost 1Mb but my friend will fix last one soon.

So entire installer is less than 900Kb without music. That's the footprint for good Flash wrapper and NSIS :)