Give us this day our daily SeaMonkey

Purpose

Those of us who install SeaMonkey on a daily basis are probably sick of uninstalling the previous version, the installation dialog and additional configuration when running. See bug 92357. This page explains how to simplify that to downloading plus one double-click. BTW, this is only for Windows.

Warning: I test with Win XP Home Edition. It may or may not run with your system. Use at your own risk.

Preparations

First we need a directory to work in, say seamonkey-of-the-day. In this directory we will collect all the files needed. Once that works, you only need to replace the downloaded SeaMonkey installer.

Currently there is a problem with the installer version, see bug 310804, preventing the helper program to work. Workaround: Apply the green lines below.

  1. Get the helper program from bug 92357, save as sm-inst-helper.exe.
  2. Get todos.exe from the Tofrodos package.
  3. Create sm-inst.bat as below.
  4. Create sm-inst.ini as below.
  5. If you like add options to sm-inst.bat (like running in minimized window), which will produce sm-inst.pif.

sm-inst.bat

This file does all the work:

if exist %windir%\SeaMonkeyUninstall.exe start /w %windir%\SeaMonkeyUninstall.exe /ma
start /w SEAMON~1.exe -u
start /w todos.exe config.ini
start /w sm-inst-helper.exe sm-inst.ini config.ini
start /w setup.exe -greLocal /ma
del *.xpi
del *.dll
del *.zip
del *.txt
del install.ini
del setup.exe
del "%ALLUSERSPROFILE%\Desktop\SeaMonkey.lnk"

In the first line we try to uninstall the previous version. Next we unpack the SeaMonkey installer. Then we modify config.sys as we like. setup actually installs the new version. We end with a lot of cleansing. Make sure you adjust the path to your system.

sm-inst.ini

This file contains the installation options. Example:

[General]
Path=[PROGRAMFILESDIR]\SeaMonkey
Program Folder Name=SeaMonkey
Program Folder Path=[COMMON_STARTMENU]\Internet
Default Setup Type=Setup Type 2
[Component MailNews]
Attributes=UNSELECTED|FORCE_UPGRADE
[Component Spellchecker]
Attributes=SELECTED|FORCE_UPGRADE
[Component Chatzilla]
Attributes=UNSELECTED|FORCE_UPGRADE
[Component Venkman]
Attributes=UNSELECTED|FORCE_UPGRADE
[Component DOM Inspector]
Attributes=UNSELECTED|FORCE_UPGRADE
[Component SRoaming]
Attributes=UNSELECTED|FORCE_UPGRADE
[Component QFA]
Attributes=UNSELECTED|FORCE_UPGRADE
[Component RPT]
Attributes=UNSELECTED|FORCE_UPGRADE
[RunApp0]
Parameters=-installer
[RunApp1]
Parameters=-installer

You can copy any part (make sure the section heading in square brackets fits) of config.ini and modify it the way you like. You find config.ini after executing SEAMON~1.exe -u. Entries in config.ini are replaced according to sm-inst.ini.

In our example, we first set the installation path to SeaMonkey in the programs directory (i.e., removing the default mozilla.org directory inbetween). The next two lines define the folder for the shortcuts (here: in the Start menu using the folder Internet and putting the folder SeaMonkey in there). Setup Type 2 lets us choose components, we uncheck MailNews, Chatzilla, Venkman (JavaScript Debugger), DOM Inspector, SRoaming (Profile Roaming), QFA (Quality Feedback Agent) and RPT (Website Reporter). Finally, we don't like parameters when starting the SeaMonkey installer. (Actually, I don't understand the difference of the two.)

Installation

Now installation is easy. Firstly, download the latest build (you may choose any other version you like better). Save it in the directory you created above. Start sm-inst. This uninstalls the previous version, modifies everything according to your settings, imports the file type settings and installs the new version without bugging you with nasty questions. (So far you need to accept that SeaMonkey changes the file types.)

Open Problems

There are some things I'd like to do which don't work (yet). I rely on your input, please e-mail me your ideas.

  1. It would be nicer, not to create the shortcut on the Desktop in the first place (bug 28174).
  2. I would like to make SeaMonkey the default service for some file types and the protocols without changing the registry this way, i.e., doing this in the configuration (bug 140886).
  3. I would like not to be asked if SeaMonkey should take care of all the file types (bug 140889). It should just do it.

Valid CSS!Valid HTML 4.01!
© Boris 'pi' Piwinger, September 6, 2008