NSIS (Nullsoft Scriptable Install System) is a tool that allows programmers to create such installers for Windows. It is released under an open source license and is completely free for any use. After almost two years of development the NSIS 2 Team is happy to announce the release of NSIS 2.0.
Last time I installed it which messed up my system completly . I coudn’t get it to compile any installation nor I was able to install the files by directly executing the file. The installation screen would show & then suddenly it will go out. Have they solved this problem in this release any one has any idea?
Your comment is a bit vague, but i’ve been using various flavours of nsis 2.0 for a while now, and haven’t had any terrible problems with it. My bigger complaint was the lack of java integration, but i’ve found the combo of JSmooth and NSIS to be a great combo
*j*
For those interested in a Windows installer, there is also the Inno setup which I have used successfully. I haven’t used the NSIS installer myself (and therefore cannot comment on it), and it’s great for developers to have a choice, especially as both seem to be quite professional.
Nullsoft? Wasn’t that company purchased by AOL long ago? Believe so, I guess. AOL did open mozilla’s source afterall… I guess AOL loves open source.
Someone should make something like this for linux. I don’t care what system they use, but a nice graphical frontend that works on every distro, would be desirable.
Nullsoft are the guys behind winamp. The have some open source projects. See: http://www.nullsoft.com
I thought Netscape opened up Navigator’s source before they got bought by AOL
Hi
Netscape opened up their source long before AOL bought it off. The mozilla code was completely rewritten because it was unwieldy and based on motif
Someone should make something like this for Linux. I don’t care what system they use, but a nice graphical frontend that works on every distro, would be desirable.
Why do we have to have this tired old argument every week or so? Listen, if you like the way software installs on Windows, use Windows. Personally, I like software installs on Linux. I have a lot of power…
I posted a stream-of-conciseness post on my website the other day the has relevance here:
http://ktd.sytes.net/?q=node/view/24
Ciao…
There is a good editor available for NSIS (I do have to use it at work…)
http://hmne.sourceforge.net/
maybe, people like the way Linux runs and they like the power of Unix, but they want a more normal software installation process.
what I don’t get is why people are so much against download and click packaging in Linux.
Someone already has made something like this on Linux. It’s called apt, dpkg and synaptic. Except it’s nothing like this.
Ever run synaptic? Not only can I install a piece of software from a nice GUI frontend, but I can install thousands of pieces of software at once. Oh yea, and if after 6 months I need the new versions of each, I just hit “Upgrade All” and all my software is updated to the latest version.
Don’t like GUIs? There is apt-get and dpkg from the command line.
Installation of packages and maintaining of software is one area in which the Linux world really kicks the Windows/Mac world’s ass. Especially debian distros.
Just thought you should know.
I don’t see how it beats out the Mac way of ‘Open a disk image, drag the icon to your applications folder’. Perhaps you could expand on what you mean?
The beauty of OS X is that you can do the whole Fink thing due to it’s BSD underpinnings too and the Fink Commander tool seems to have a lot of the other features you mentioned.
Just thought you should know. 😉
Sounds very Rox-ish ( http://rox.sf.net ). brokenvoice, your absolutly right. That is the easiest way to install software. I wish both Windows and Linux would go down that path.
The Mac way involves navigating to a file, opening it, opening the apps folder, and dragging the app-dir over. Basically, it requires too many clicks scattered across too many places. The Synaptic method just involves a few clicks all in the same place. And when it comes to upgrading software, both the Windows and Mac methods are intensely manual, wheras the Linux method is completely automatic. With a good front end like CNR, it takes about as many click to install the whole program as it does to just find the installer file in Mac and Windows.
The problem with apt-get/synaptic is that it limits the way software can be installed. I would like, one day, to be able to go to the store, buy linux software, and install it easily onto my computer. I doubt I’ll ever get proprietary software to install using apt-get. The nice thing about windows installers is that it shows the installed file on the taskbar where it is easy to see. I don’t want to have to search for the program once I install it. Also, if internet installation is the way to go with Linux, what if the hosting company goes out of business? With purchased software in the store, you just reinstall as needed. With internet installation, you’re up the creek.
The underlying theme is choice and flexibility. I would like multiple ways to install software the way I like, not the way someone else tells me how it should be. Also, I would like to be able to use open source as well as proprietary software, and I don’t think internet installers such as CNR for Lindows does an adequate job of giving me this flexibility. Of course, you can’t always get what you want, but these would be MY reasons to want a standard linux installer as well.
@kick the donkey: It’s a shame you don’t understand why people don’t want to compile their own programs. I, personally, have NEVER been able to effectively compile and install software on Linux. Does that make me stupid? Of course. Does that make me a hopeless waste of time? Absolutely. Does that mean I HAVE to use Windows? Not on your life! Try to understand other people’s perspectives — not how you think they should be — and you’ll open yourself up to a whole new world.
Can’t we just agree that Linux will never be able to have a standard installation method with binary compatibility across all distributions? It’s not technically feasible when you have people doing volunteer work (with egos involved) to get them to agree on standards. People should think of Linux as more of a mob, there is no leader who can make firm decisions. Maybe they just see one building and think, I want to loot and set that building on fire. Maybe one person suggested it, but the mob as a group makes a decision.
For freeware installers I would definitely recommend Inno setup and it’s supporting sofware ISTool. Very quick and easy to use. When I’m ready to distribute software the last thing I want to face the potentially tedious task of putting together an installer, for me the quicker and easier this is the better. I’ve never quite understood the linux approach of making everything as long winded and as cryptic as possible.
To all you people who know not of a Linux installer…
http://icculus.org/loki_setup/
Personally, I like software installs on Linux. I have a lot of power
That’s great for you, so then use your way of installing, but don’t turn others down who want something different. I thought Linux is about choice, so why can’t we have more options. An installer like NSIS or Installsheild on Linux would be a great asset to get people to move away, no non-geak wants a text based installer. They want less to do with the CLI as possible, for them, using it would be reverting back to the DOS days. The only way Linux is going to grab hold is if just about everything has a GUI equlivilent. A GUI installer would be nice to have.
While apt and fink are nice in theory, it seems like every time I try to install something, I have to download 100MB. Since I can’t get broadband where I live, it’s a bit of a pain. I tried to put abiword on my mac via fink, but just gave up after it hadn’t completed in a couple of hours.
Kick The Donkey
From your website, you ask …
Why is it so hard to believe that this competition is a GOOD THING?? The answer IMHO is because people still think they must distribute binary packages… WHAT IS SO DAMN HARD ABOUT ./configure && make && make install ?!?
But later on in the same page, you answer your own question …
The most common error received is a dependency error. For instance, the application that you’re trying to install requires library A, B, and D. This, is the first problem with compiling from source yourself: No dependency resolution.
You’d have to go out and find those libraries yourself if they weren’t installed.
Why is that so f**king hard to understand? Also, I would challenge you to go and download the latest version of Gnome or KDE and compile those with ./configure && make && make install .. once you’ve attempted it, come back and let us know the results
pixelmonkey
Someone already has made something like this on Linux. It’s called apt, dpkg and synaptic.
Last time I played around with apt, went to install Firebird 0.7, but only 0.61 was available from the default sources. I said to myself I could go hunting for apt sources or say screw it and just install 0.61 – I chose the latter. Only problem is when I installed 0.61, it broke all my menus in Mozilla.
Then went hunting for xmame in synaptic (which itself has a piss-poor organization about it) and that was several versions out of date. Other packages I looked for weren’t even listed. Attempt to change apt sources in distros like Xandros and Lindows, and you’ll get a stern warning that doing so could break the rest of your distro – um, no thanks. I don’t know if the whole apt system works this poorly in other ‘generic’ Debian distros, but this is obviously not a system that works well across ALL distros, which is what some of us are hoping will show up one day.
Anonymous
Can’t we just agree that Linux will never be able to have a standard installation method with binary compatibility across all distributions?
Why can’t we? Isn’t it the open source zealots who are always bitching and whinning about standards? To that I say, either shit or get off the pot. Why would it be so dammed hard ot make up an RFC or something that describes the way a standard package manager should work and have each distro write their own package manager around that standard, so that you could have ONE package that worked in ALL distros? The way it works now, people create package managers and call them standards. Well, I say think god for the W3C, or else who knows how many HTML ‘standards’ we’d have. According to the open source crowd, if you create something that more than 3 people use, it’s a standard.
Let’s just say this …
If I can’t go and download a package for KDE 3.2 and have it install in any distro of Linux that exists, there is NO standard for package management yet.
From : http://www.kde.org/documentation/faq/install.html#id2908417
So much easier than clicking “Next, next, next” until my wrists cramp up from RSI.
unpack the packages with tar jxvf packagename.tar.bz2
change directory to the package directory: cd packagename
configure the package: ./configure
Note: Some packages (notably kdebase) have special configuration options that might be applicable to your installation. Type ./configure –help to see the available options.
build the package: make
install the package: su -c “make install” (if you aren’t already root). If you already are, just type make install.
First of all, please make sure that you have added KDE’s binary installation directory (e.g. /opt/kde/bin) to your PATH and KDE’s library installation directory to your LD_LIBRARY_PATH (only necessary on systems that do not support rpath; on Linux® ELF, it should work without). This environment variable may be called differently on some systems, e.g. it is called SHLIB_PATH on IRIX®. Then set the environment variable KDEDIR to the base of your KDE tree, e.g. /opt/kde.
Edit the file .xinitrc in your home directory (make a backup copy first!), remove everything that looks like calling a window manager, and insert startkde instead. Restart the X-Server. If you use kdm/xdm, you will have to edit the file .xsession instead of .xinitrc. And if there is no .xinitrc or .xsession in your home directory, simply create a new one with just one line containing startkde.
And… DONE! I don’t think it can get much easier than that!
Nullsoft? Wasn’t that company purchased by AOL long ago? Believe so, I guess. AOL did open mozilla’s source afterall… I guess AOL loves open source.
I believe it has more to do with Nullsoft’s founder, Justin Frankel, than any love of open source by AOL. He has often butted heads with AOL. Well, not so much butted heads as blatantly ignored corporate will.
http://www.rollingstone.com/features/featuregen.asp?pid=2763
And… DONE! I don’t think it can get much easier than that!
I hope you were being sarcastic. Hitting “Next” three times is more difficult than that? I think not.
Yeah, too bad that they don’t have binary diffs, but most apt-get upgrades shouldn’t be a 100 meg and even if it, just run it right before you goto bed.
The sad thing is he probably wasn’t being sarcastic. He’ll probably have to go to a linux recovery support group later on in life.
If I can’t go and download a package for KDE 3.2 and have it install in any distro of Linux that exists, there is NO standard for package management yet.
Who says there has to be a one true packaging system? I, in know way, want a Windows install like system on Linux. I’d prefer to see Linux go the way of ROX/Mac. App Dirs. Very clean, very elegant.
I did not pose that question. It was asked by another OSNews poster. The jest of my article was an attempt to propose a nice front end for compiling applications.
How about this installer? You click on the package and it asks you if you want to install it. If so it asks you for the root password and away to goes.
Did I mention there is nothing stopping the packager from having some popup come up and ask you a few questions?
Oh wait.. thats the linux meathod… I guess it *must* be garbage.
The place where unexperienced users have the most trouble is when they expect any package to work. Either the package is for another distro or another version of the same distro or it was made badly. In an open OS, I don’t see how the distro makers have any control over this, except by standardizing the package names and common system elements.
A universial package format would not help anymore then rpm did. Rpm is used in a *lot* of distros and yet if one tries to mix and match rpms, one runs into trouble (no debs, you’re not off the hook here).
Who says there has to be a one true packaging system? I, in know way, want a Windows install like system on Linux. I’d prefer to see Linux go the way of ROX/Mac. App Dirs. Very clean, very elegant.
Personall, I don’t care HOW you do it .. I don’t even mind doing configure/make/make install from the command line, as long as it works consistantly, and doesn’t take all damn day.
Just develop some kind of way, some method that works across the board, and then show me how to do it. No dependencies, no apt sources, no headaches – just results. If you think that I am unreasonable for asking this, then don’t think it unreasonable of I never run Linux as a desktop OS. So if you’re happy with this arrangement, then so am I
I find NSIS the best Win32 installer available. Compared with Inno Install, which is the second best IMO, NSIS has a couple of additional features I wouldnt want to miss, especially support for the 7z compression. NSIS binaries are significantly smaller than Inno binaries.
With NSIS scripting abilities a lot of additional things are possible, for example I wrote a small Java wrapper (just an exe which calls java -jar …) with NSIS.
To sum it up, NSIS and Inno beat the commercial installers hands down, while my personal preferences is NSIS.
I looked at the screenshots and I can’t see a help button (or similar). Few things are as annoying as when an installer asks a question that can’t be answered without more information, and then not provide the needed information. (E.g., asking “Do you want to use AISC or MPT mode?” before installing the manuals and readme files that explains what AISC/MPT is.) I find it hard to believe that anyone would be so utterly stupid that he/she wouldn’t integrate a help system into an installer. Since the bastards who make install packages also seem to be lazy it should be easier to write help texts for each question than to disable the help button/system. (Oh, and the idiots at debian where it first shows you a help text and then asks the question on the next screen are as stupid as the morons who put emergency instructions on a airplane door that went like “Step 1 of 8: Pull the lever below, making the door swing out. Step 2 of 8: […]” (Guess how many read through and memorized all steps before performing the first step that removed the door and with it the rest of the instructions!))
I would suggest to have a Help button that will always be shown on each screen in the install wizard. If no help is provided for a particular screen then the button would be “grayed out”. (Help texts also tell much about the attitude of the developers, and consequently about the software itself. I would automatically try to avoid all software that lack proper installer help texts.)
Another important issue is that the level of detail that the installer will ask for should be configurable, to suit both beginners (who just want to run the program) and experts (who want control over the whole install process). This should of course be on a per application basis since the same person might be a beginner regarding one type of software but an expert regarding another. (This also tells something about the program. E.g., if “expert” is the only available install detail level option of a program then you can be pretty sure that the program isn’t suitable for beginners.)
>With NSIS scripting abilities a lot of additional things >are possible, for example I wrote a small Java wrapper
>(just an exe which calls java -jar …) with NSIS.
Inno setup has builtin scripting facilities
Cool. I didn’t realize that there were two completely free applications for Windows, that do something that is not technically even possible for Linux (across all versions).
Agreed, all of the Babya Software Group application setups are created with Inno Setup.
Inno Setup 4.x also has ‘Pascal scripting’ based on Innerfuse Pascal Script 3. Also it will soon have integrated LZMA (7-Zip) compression (a test version featuring 7-Zip compression will be released shortly), just like NSIS (found this out at the following IS newsgroup post: http://news.jrsoftware.org/read/article.php?id=31920&group=jrsoftwa… )
Also Inno Setup 4.1.1 and later versions feature COM Automation support-does NSIS have something similar to this?