Bug 691363 - windows installer with NSIS not depending on winzipse
Summary: windows installer with NSIS not depending on winzipse
Status: RESOLVED FIXED
Alias: None
Product: Ghostscript
Classification: Unclassified
Component: Build Process (show other bugs)
Version: master
Hardware: PC Linux
: P4 normal
Assignee: Hin-Tak Leung
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-03 23:24 UTC by Hin-Tak Leung
Modified: 2010-06-21 00:05 UTC (History)
0 users

See Also:
Customer:
Word Size: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hin-Tak Leung 2010-06-03 23:24:08 UTC
The windows installer code (from Russel?) developed years ago depends on winzipse, which requires a license. While it is not expensive, these days there are free alternatives such as NSIS, which is quite mature and used to generating windows installers of many windows builds of open-source software - e.g. R, Mono, GPG etc.

Target this for the next release (9.0), hopefully.
Comment 1 Hin-Tak Leung 2010-06-06 16:20:11 UTC
I was wrong, R uses Innosetup (also open-source?, or free use in any case) to build its windows installer. But lilypond uses nsis.
Comment 2 Hin-Tak Leung 2010-06-06 17:04:22 UTC
One advantage (major?) is that nsis support lzma, which gives a 15% smaller size compared to winzipse; also it is script-driven and customization turn-around is much quicker, once one is used to the scripting language itself.
Comment 3 Hin-Tak Leung 2010-06-08 22:48:29 UTC
Here is the script (put it under the code directory and and run "makensis nsisinst.nsi" should do it after a build): 
http://www.ghostscript.com/~hintak/nsisinst.nsi

Here are two installers one new, one old for comparison:
http://www.ghostscript.com/~hintak/GS872W32-r11356+tt-nsis.exe
http://www.ghostscript.com/~hintak/GS872W32-r11356+tt.exe

The size advantage is 20%+ . It is feature-complete AFAIK: it optionally scan %WINDOWS%\fonts to create cidfmap; it creates a few start-menu entries and a few registry keys for gsview's use. Some of the latter are not optional yet, unlike the winzipse-based installer.

Other advantages over the winzipse-based installer are:

- supports silent installation (/S)
- easily customizable (e.g. ships with a different license is just replacing the license file and re-run makensis)
- has a more modern interface?
etc

I'll tidy up, update doc/Make.htm, and hook it up with a new "nmake -f psi/msvc32.mak nsis" target before closing.
Comment 4 Hin-Tak Leung 2010-06-08 22:57:51 UTC
One of the reasons is that the WINDOWS SDK manifest manipulation tool mt.exe (requires for setupgs.exe's privilege escalation to install to "c:\program files" under Vista/win7) malfunctions under wine: 

http://bugs.winehq.org/show_bug.cgi?id=22813

But that's not very important one - few would want to build win32 ghostscript with MSVC under wine.
Comment 5 Hin-Tak Leung 2010-06-21 00:05:43 UTC
Add doc, the script itself, and a make/nmake 'nsis' target (either msvc or borland) in r11404 .

I'll possibly continue to make a few more changes, and make some snapshot builds available from time to time.