Archive: News: Firefox 2 to use NSIS Installer.


News: Firefox 2 to use NSIS Installer.
Seems Mozilla are switching to NSIS to distribute Firefox 2.

http://wiki.mozilla.org/Firefox2/Sta...2-07#Installer

Opera have just switched to InstallShield MSI for the Opera 9 weeklys, and the user backlash has begun, with everyone asking Opera for a non-bloated installer to go with their non-bloated browser (NSIS being the installer of choice). Check out the comments...

http://my.opera.com/desktopteam/blog...86525#comments


It seems that the only problem Opera has with NSIS is easy network deployment, which MSI provides.
I have already contacted kichik via PM.

If this can be solved, Opera might switch (this is not official, don't count on what I am writing here).

So can NSIS solve this?

Also see: http://my.opera.com/desktopteam/blog/show.dml/187723


it seems the ONLY advantage MSI has over NSIS, is the network install. Now if only the devs had some ideas on how to overcome this...


I assume that by network they mean an organization network and not downloading files from the internet. To download files, there's NSISdl and InetLoad.

If it's the other kind of network, then the options are a bit more limited. SMS and GPO make it easy to push an installer packaged with MSI to an entire network. As far as I know, they don't allow pushing executables. You can always wrap your executable installer in a MSI or execute it in the start-up script, but it's not the same.

Part of the problem is that there's no standard way for an installer to register itself as installed. MSI packages and even components, I believe, are listed in a registry. This way, the GPO/SMS server can know which packages are missing and push only those.

Maybe there's some program available that can be run in the start-up script that'll use a bit more standardized installers in order to create the same effect. Unfortunately, I've never heard of one.


I think they mean deploying to many desktops from a central admin command.


I'm interested in this topic, too. Can we discuss it in this older thread?

http://forums.winamp.com/showthread....hreadid=121559


There is a little known thing in NSIS that gives corporate customers the ability to customize installations and run them silently... In Chapter 4, Section 12 (noted as 4.12) of the NSIS manual, there is a vague reference to an "answers file" where all user input settings can be stored and activated through in commandline or batch run... I think people have forgotten this, and assume that NSIS has no support at all, which is not true...


I (and probably others) know very well the silent operation mode. I think this is great and I of course I allow silent installations (making proper decisions in .onInit or other steps). This makes NSIS corporate-network-able in general as an sysadmin can build some autoexec or logon script etc.

But this is not the same as MSI. MSI's can be deployed easily in a corporate network using some (Microsoft) Tools and I guess it is widely used in big networks. And probably adding some manual (batch-mode) deployment method is not all admin's favorite (some might not be able to do this). So building MSI packages would give all NSIS-based products a better chance to get installed on corporate networks.

I don't want NSIS to create MSI packages like all other MSI creation software does. NSIS should remain script based (that's why I use NSIS). But it would be great to have some kind of workaround to package real NSIS installers (.exe) into some MSI wrapper.

If anyone interested (I hope) please let discuss possibilities. Here's some older thread we could use:

http://forums.winamp.com/showthread....hreadid=121559


There's makensi which wraps executables in MSI packages.


Simple network install
I'm currently working on an NSIS script that does limited network installs, if they can be called that. Basically, it lists all the computers on the network, lets the user select which computers to install to, and then copies files to a common share directory on each computer. Somewhat limited, but it works for my purposes. It doesn't to registry or anything because I don't know of any way to do so with NSIS, so it's better suited for updates than initial installs.


registry is easy - just set the compontents, plugin path and path_to_exe here
HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox 1.5
HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox 1.5\bin:PathToExe
HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox 1.5\Extensions:Components
HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox 1.5\Extensions:Plugins


samer for
HKEY_CURRENT_USER\Software\Mozilla\Mozilla Firefox 1.5

the rest is done from Fx itself.

btw, can you share the "find computer" script please?
or gimme a hint where to search ;)

ps i hope when they use nsis it has a self-extracting option so i can extract and modify it myself.
i unpack the latest installers and modify them for my purpose (searchplugins/plugins/language) then i install it.
so i have my special version for all computers ready-made


Originally posted by Pharaoh Atem
...a vague reference to an "answers file" where all user input settings can be stored and activated through in commandline or batch run...
You are right it is very vague

If your installer/uninstaller requires a lot of information and you want it to be able to be silent, you should allow the user to pass on a path to an answers file. This would be much more comfortable than writing all of the information on the command line.
Further searches in the doc come up with nothing, and the wiki is equally barren.

Do you have any further information on this feature?

Unfortunately, I have no other information on it, nor do I know how it is activated... Probably the only people who may be able to figure it out are the developers of NSIS themselves...


There is no automatic way to "activate" an answers file, since NSIS does not support it by default. You will need to code it by hand using the examples provided in Section 4.12.
That being said, it should be easy enough to read parameters (or "answers") from an INI file, the path to which is specified in the installer command line.


There should be an easy way to do it, and I have yet to find an example that shows how to do such a thing...


ReadINIStr would be enough to read from INI files. There are functions to read the command-line parameters. I still desire a regular expressions plug-in to be implemented in NSIS, so that most string functions wouldn't be needed anymore.