New GnuPG Installer

Jared list-gnupg at legroom.net
Fri Jan 20 20:25:45 CET 2006


Hello.

I've written a new installer for the Windows GnuPG binaries that I'd like to
share with the group.  Before I get into any details, I'd like to briefly
explain why I did it.  I know that an official installer already exists as
of 1.4.1, and that (from searching the list archives) the general feeling
about installer changes is to modify/improve the current installer rather
than create a new one.  However, I felt that there were a few weaknesses
with the official installer that made it unsuitable for my needs.
Specifically, this includes:

1. Inability to perform a proper silent install/deployment - While I can
specify /S file silent and /D to set the output directory, that's all NSIS
supports.  I cannot enable/disable specific components, I cannot choose to
install not start menu icons, and I cannot specify the language or any other
options.

2. Missing/Incomplete installer options - There are three specific
customizations I feel that the installer should perform - language
selection, homedir selection, and setting default language.  The language
option is present in the NSIS installer, but it feels a bit awkward, and
doesn't integrate with the installer language selection.

3. Based on NSIS - I know this seems like an odd complaint, but I find NSIS
installers woefully advanced-user-unfriendly.  As mentioned in point 1, it
supports very few command line options, placing the burden on the developer
to add the necessary capabilities, and setup files cannot be unpacked
without performing a complete installation.  The general user, of course,
wouldn't be affected by this, but any developers or administrators working
with GnuPG may be unnecessarily inconvenienced.

I could, of course, write a script to make these customizations after
installation, but then the installer itself wouldn't know about them.  Upon
uninstallation things would get left behind, during upgrades or reinstalls
preferences would get overwritten, etc.

Because of all of these reasons, I felt it would be best create a new
installer that includes all of the capabilities mentioned above, and using a
more user-friendly packager than NSIS.  So, I turned to Inno Setup, a Free,
Open Source Windows packaging application with which I already have fairly
extensive experience.

The new installer supports all of the features of the original installer,
plus the following:

* Installer translations for all GPG-supported languages, except Esperanto
* GnuPG language selection integration with installer
* Ability to specify home directory
* Ability to add GnuPG to system path
* Ability to specify language and home directory via command line options
* Large number of silent deployment options provided by Inno Setup

I hope I've adequately explained by I wrote this new installer.  Since I do
feel that it would be beneficial to the GnuPG community at large, I wanted
to share the installer script with this group.  The installer, scripts, and
source package can be downloaded from the following location (didn't want to
add attachments to this e-mail since it's already pretty long):

http://www.legroom.net/~jbreland/gnupg/

I hope you find this useful, and consider it for inclusion in the official
GnuPG distribution.  Comments and questions very much welcome.

Thanks.

-- 
Jared Breland		GnuPG public key:
jbreland at legroom.net	http://www.legroom.net/jbreland.asc





More information about the Gnupg-devel mailing list