generating .exe or .msi with rpm

Kevin Kofler kevin.kofler at chello.at
Sat Mar 14 20:42:30 UTC 2009


Richard W.M. Jones wrote:
> You probably want to use our nsiswrapper program (in the package
> mingw32-nsiswrapper in Fedora and EPEL).  This is a simple wrapper
> around NSIS (also in Fedora/EPEL) and can be used to generate Windows
> installers, *.exe.

mingw32-nsiswrapper is a nice way to get an installer done quickly, but you
won't get access to all of NSIS's features that way. It will just collect
all your files (plus DLLs your .EXE files depend on, plus additional files
required by GTK+ if --with-gtk is used) and generate a simple installer
which installs them all. What you can't do with it (but can do with NSIS
itself) includes:
* defining optional components which can be checked or unchecked for
installation,
* downloading third-party installers for dependencies and running them
(which is what should really be done with the GTK+ runtime instead of
installing a private copy - we get all sorts of TiLP 2 and TiEmu "bugs"
reported which were caused by multiple copies of GTK+ being installed at
one time, there needs to be one and only one GTK+ on Window$, otherwise you
get all sorts of strange conflicts),
* downloading third-party zipfiles for dependencies and unzipping them,
* running custom postinstall actions (like RPM's %post scripts)
and many more things. NSIS is Turing-complete, nsiswrapper doesn't even come
close.

If you want to do any of that, you have to edit the generated script file by
hand or even write it entirely from scratch.

> NSIS claims to be able to generate *.msi files too, but I have not
> tried this.  Microsoft's own program, WiX, isn't really open source
> although Microsoft and others claim it is.

Right, the problem is that while WiX itself is Free Software, it requires
the M$I SDK which isn't.

        Kevin Kofler




More information about the mingw mailing list