Thu 05 May 2011 08:39:52 AM UTC, original submission:
An aggregate FR to keep things from getting lost. Reminder to myself, mostly.
Forum topic: http://forums.wesnoth.org/viewtopic.php?f=6&t=33691
Patch generator utility: http://sourceforge.net/projects/nsispatchgen/
Discussion with loonycyborg about patch behavior:
<loonycyborg> zaroth: The patch seems to work fine for me.
<zaroth> loonycyborg: great! if you have any comments on NSIS script, don't hold them back :-)
<loonycyborg> With the exception that registry keys/start menu shortcuts still say previous versions..
<zaroth> I had no sane idea how to cope with that
<zaroth> sure, I could store the version string for the one I detected
<zaroth> but what if user is patching a installation without registry keys, i.e. simply a moved directory?
<loonycyborg> You could record start menu shortcuts/menu items for 1.8.5 and delete those for previous versions.
<loonycyborg> *registry keys
<zaroth> (that is, simply selected a different dir than the default I provided him with autodetection)
<zaroth> then all changes I'd do would likely end with a huge mess
<zaroth> hm, that's an idea
<zaroth> what about directory name?
<loonycyborg> You could rename it.
<zaroth> (user could change it from default "Battle for wesnoth 1.8.3" to "mywesnoth"
<zaroth> during installation
<loonycyborg> Maybe somehow check if it's the default name and rename it only if it matches.
<zaroth> and uninstaller? (that's probably the simplest)
<zaroth> I think that simply including the file list from the newest release would do
<zaroth> and uninstaller would be freshly generated
<loonycyborg> I tried the uninstaller and it worked without missing files to my surprise.
<zaroth> (however, removing all previous versions from registry seems a bit invasive to me... I can't think of somebody wanting to keep e.g. 1.8.1, 1.8.2 and 1.8.5 simultaneously
<zaroth> oh really? that's good news :-)
<loonycyborg> I meant to say only of version you're upgrading from.
<zaroth> I didn't test it, I just assumed it wouldn't work
<loonycyborg> Not of all versions.
<zaroth> and here comes the question, how to detect the version I'm upgrading only having the install path to it?
<zaroth> (I assumed wesnoth binary has some kind of Version: field, but it has not to my knowledge)
<zaroth> I think abandoning registry etc. changes if user changes the default autodetect could be a solution...
<loonycyborg> You could record the registry key you've read INSTDIR from.
<zaroth> yes, I know that, but I still consider the auto-detected directory from registry key only as a default, not as a fixed directory path
<zaroth> where install will take place
<zaroth> I could change that, however
<zaroth> on cost of losing the flexibility of patching any directory I want
<zaroth> as long as it contains Wesnoth.exe
<loonycyborg> Allowing the change but ignoring the registry if the path is changed looks fine to me.
<zaroth> all right then
<zaroth> maybe I'll add a button (return to default) and a notice about that to be clear
<loonycyborg> kk
<zaroth> loonycyborg: by the way, what version did you patch? maybe there was no added files between these two?
<loonycyborg> 1.8.4
<zaroth> I'll try uninstalling patched 1.8.0 then to see if it holds true
<zaroth_> hmm.... It removed all files with patched 1.8.0 , I have no idea why tbh
<zaroth_> maybe there is something like rm -rf $INSTDIR in the uninstaller in the end ;-)
|