]> asedeno.scripts.mit.edu Git - PuTTY.git/commit
New Windows installer system, using WiX to build an MSI.
authorSimon Tatham <anakin@pobox.com>
Wed, 9 Mar 2016 20:44:19 +0000 (20:44 +0000)
committerSimon Tatham <anakin@pobox.com>
Wed, 9 Mar 2016 20:55:38 +0000 (20:55 +0000)
commit5c5879b99d2a0785095a384f48a2d934e1b2d4c5
tree94eb4760551c56be95c7c1ff999d78f51a03e6c9
parent8e41e0a4b22b92bc4b565f86225f97f86acee1fa
New Windows installer system, using WiX to build an MSI.

Mostly this is a reaction to the reports of Inno Setup having a DLL
hijacking vulnerability. But also, the new installer has several other
nice features that our Inno Setup one didn't provide: it can put the
PuTTY install directory on PATH automatically, and it supports
completely automatic and silent install/uninstall via 'msiexec /q'
which should make it easier for sysadmins to roll out installation in
large organisations. Also, it just seems like good sense to be using
Windows's own native packaging system (or closest equivalent) rather
than going it alone.

(And on the developer side, I have to say I like the fact that WiX
lets me pass in the version number as a set of command-line #define-
equivalents, whereas for Inno Setup I had to have Buildscr apply Perl
rewriting to the source file.)

For the moment, I'm still building the old Inno Setup installer
alongside this one, but I expect to retire it once the WiX one has
survived in the wild for a while and proven itself more or less
stable.

I've found both MSI and WiX to be confusing and difficult
technologies, so this installer has some noticeable pieces missing
(e.g. retrospective reconfiguration of the installed feature set, and
per-user vs systemwide installation) simply because I couldn't get
them to work. I've commented the new installer source code heavily, in
the hope that a passing WiX expert can give me a hand!
Buildscr
sign.sh
windows/installer.wxs [new file with mode: 0644]