Pull request: A better windows installer

Dirk Hohndel dirk at hohndel.org
Thu Sep 13 07:48:17 PDT 2012


"Lubomir I. Ivanov" <neolit123 at gmail.com> writes:
>
> i will take a look at your "modern" UI implementation. i wasn't able
> to sort it out with the native windows version of NSIS (probably do to
> a silly mistake).

I never even tried :-)

> i'm basically using a custom NSIS for this distribution:
> https://github.com/neolit123/subsurface_win32
> also custom makefile for the application and even for the docs in that matter.
>
> there isn't really a good solution to the different version of shared
> libraries. for example, what the GTK website and third party sources
> provided for windows have headers and binaries completely different
> from what a linux distribution may have. in fact everyone building on
> linux may end up with different flavored set of libraries depending on
> his distribution...
>
> i think, a solution is to output the DLLs to a "dll" folder and
> include *.* from there, something like:
> File /r dll/*.dll /x dll

That might work - but of course it risks including a lot of files that
you don't actually need. I had the hand crafted list in the original
nsis file in order to get to a smaller installer.

> when the user updates subsurface on windows, this may cause stacking
> of redundant libraries. what can be done to prevent that is to write
> the NSIS script so that it deletes existing all existing DLL before
> adding the new ones.

Umm. I'm not sure I like that idea. Is there a risk that we might delete
DLLs that aren't ours by mistake? Maybe if a user writes their own
add-on or something? I can't put my finger on the exact scenario, the
"delete all DLLs" just has me a bit nervous.

> sed (http://en.wikipedia.org/wiki/Sed) can be used to change the version.
> but the manual version increment is not much of an issue in general;
> also has to edited in the RC file.

I guess that's a valid point. Linus and I just need to remember to
replace the version number in all the files where it needs to be
changed... which means I might still want a little script that does it
for me :-)

/D


More information about the subsurface mailing list