General Category > Software and games

NSIS - Nullsoft Scriptable Install System

(1/5) > >>

Mnemonic:
NSIS - http://www.nullsoft.com/free/nsis/


--- Quote from: odnorf on June 01, 2003, 11:54:31 AM ---There are 6 things I like about NSIS : it's light, fast, computer friendly, powerfull, opensource and it's improved all the time.

--- End quote ---

OK, let's talk about NSIS. I was reading the docs recently and I'm considering using NSIS for future distribution of WME DevKit (instead of InnoSetup). Although I like InnoSetup and I still think it's pretty cool, there's one thing that troubles me - the distribution package size. The problem is, there's lot of graphics in the WME DevKit (templates, demos). Some images are duplicated (or even triplicated). What I need is an equivalent of WinRar's "solid" archiving, i.e. all the files are compressed "together", using one compression dictionary. This will reduce the distribution size A LOT. From what I've read in the NSIS documentation, it's capable of this (I didn't test it though; I hope I'm not wrong).
Plus, NSIS installers look cool (just look at the Dreams installation).
Plus, NSIS s quite flexible due to the scripting language (I have to say, though, that I really don't like the language, it's pretty weird ;))

odnorf:

--- Quote --- have to say, though, that I really don't like the language, it's pretty weird
--- End quote ---

I have to agree that the language is pretty weird. But as I have said before it has many examples. The installation program I have created in the dreams demo is a combination of 3-4 examples! And I don't even understand the language!


--- Quote ---The problem is, there's lot of graphics in the WME DevKit (templates, demos). Some images are duplicated (or even triplicated). What I need is an equivalent of WinRar's "solid" archiving, i.e. all the files are compressed "together", using one compression dictionary. This will reduce the distribution size A LOT. From what I've read in the NSIS documentation, it's capable of this (I didn't test it though; I hope I'm not wrong).

--- End quote ---

I don't know what compression algorithm innosetup is using but NSIS can use zlib or bzip2 which have (especially bsip2) very good compression. But as far as I know bzip2 can't use solid archiving. BUT the NSIS team is considering in using the www.7-zip.com in feature releases which support solid archiving AND has GREAT compression ratios. Just compress wme package with 7zip and see the results for yourself.

Mnemonic:

--- Quote from: odnorf on June 02, 2003, 02:06:05 PM ---I have to agree that the language is pretty weird. But as I have said before it has many examples. The installation program I have created in the dreams demo is a combination of 3-4 examples! And I don't even understand the language!

--- End quote ---
Maybe one day they'll upgrade NSIS to a real scripting language :) After all, they already have the language ready in WinAmp 3...



--- Quote from: odnorf on June 02, 2003, 02:06:05 PM ---I don't know what compression algorithm innosetup is using but NSIS can use zlib or bzip2 which have (especially bsip2) very good compression.

--- End quote ---
InnoSetup uses zlib. But IMHO the problem isn't the compression method, but rather in the way the files are treated. Normally, each file is compressed individually, with its own compression dictionary, while the so-called "solid" archiving treats all the files as one big lump of data. Therefore if there are multiple similar files, the overall compression ration is much much better. The disadvantage is the decompression. Normally, you can extract individual files immediately, but in solid archive, all the preceding data have to be uncompressed to get to the requested file. Therefore it's suitable for installers (they decompress everything anyway), but it can't be used for example in a game engine :)

odnorf:

--- Quote from: Mnemonic on June 02, 2003, 02:18:42 PM ---Maybe one day they'll upgrade NSIS to a real scripting language :) After all, they already have the language ready in WinAmp 3...

--- End quote ---

OFF-TOPIC:I don't know what language that is but Winamp3 is a "dead software". It's full of bugs, it's slow and almost nobody uses it. That's the reason that nullsoft has almost stopped developing it. Also that's the reason they implement many of winamp3 main features (media library, video playback etc) in the winamp2.x versions (2.90 & 2.91). From what I know they have abandoned winamp3 and they are going to keep developping 2.xx versions.OFF-TOPIC

Anyway, I don't think that in the next years the NSIS installer is going to change it's scripting language. At least nobody is working on something like that as far as I know. It's not even in the "feature suggestion" list. And it would require a huge redesign of the program.


--- Quote from: Mnemonic on June 02, 2003, 02:18:42 PM ---InnoSetup uses zlib. But IMHO the problem isn't the compression method, but rather in the way the files are treated. Normally, each file is compressed individually, with its own compression dictionary, while the so-called "solid" archiving treats all the files as one big lump of data.
--- End quote ---

The compression method can be a problem or an advantage. When for example, the NSIS team implement the 7zip compression algorythms in their program I expect it to create way smaller installers than with zlib and bzip2.

Jerrot:

--- Quote from: odnorf on June 02, 2003, 10:58:06 PM ---OFF-TOPIC:I don't know what language that is but Winamp3 is a "dead software".
--- End quote ---

Just got a new board and odnorf goes off-topic in the very first thread. :)
(Anyway - Winamp3 totally sucks by bugs!)


--- Quote from: odnorf on June 02, 2003, 10:58:06 PM ---
--- Quote from: Mnemonic on June 02, 2003, 02:18:42 PM ---InnoSetup uses zlib. But IMHO the problem isn't the compression method, but rather in the way the files are treated. Normally, each file is compressed individually, with its own compression dictionary, while the so-called "solid" archiving treats all the files as one big lump of data.
--- End quote ---
The compression method can be a problem or an advantage.

--- End quote ---


I'm not sure if you got the point - sorry, if I just misunderstand you don't mind the next part. The compression method does not matter at all as long as the data get compressed file-by-file. Example: 3 times the same picture in 3 different directories. Inno SetUp would compress that 100K picture down to 30K - three times = 90 K. Useful would be to handle all 3 files as ONE big file to archive, this way all three pictures would take only about these 30K.

Navigation

[0] Message Index

[#] Next page

Go to full version