[Distutils] Windows installer.

Michel Van den Bergh michel.vandenbergh@luc.ac.be
Tue Jan 9 03:35:01 2001


>
> > An application will typically be installed in "C:\Program Files".
> > Furthermore the user will   expect a desktop shortcut, a start menu
> > entry and an uninstall program. The current windows installer does not
> > seem to be capable of installing, let alone generating such things.
>
> I have come up with the same conclusion for Narval
> (http://www.logilab.org/narval -- I know, this is a shameless plug ;o)
>
> > I noticed that there exists a free (as in free speech) installer for
> > Windows: http://www.nullsoft.com/free/nsis/ which seems to be very
> > capable. So it would be sensible to have an option "bdist_nsis" and I am
> > considering writing such a thing.
>
> I have not looked at this installer. What we use at Logilab is Inno Setup,
> which comes with an open source license too (it sounds BSD-ish, but
> I'm not a license expert). It is very easy to use, and does a good work.
> The URL is http://www.jrsoftware.org/isinfo.htm
>
> Alexandre Fayolle
> --
> http://www.logilab.com
> Narval is the first software agent available as free software (GPL).
> LOGILAB, Paris (France).
>
I looked at Inno Setup. It is indeed very good and it comes with a BSD style
licence.

I was able to create a professional looking installer in 10 minutes.  It seems
very easy to create the installation script
automatically by modifying bdist_dump a little bit. bdist_dump basically does a
mock install to the build directory and then packs
the result. Instead of packing the result one should make an installation
script listing the files which were created by the mock
install.  Then Inno setup should be invoked.

Bdist_inno could have a few options such as the name of the licence file, the
name of the readme file, the name of the
main script (to create shortcuts on the Desktop and in the Start Menu), the
default install location and the path of the executable for the Inno setup
application.

When I find some time I will look into this.

Thanks for the tip.

Michel