[sword-devel] BibleCS Installer

Lynn Allan l_d_allan at adelphia.net
Wed Oct 12 19:03:56 MST 2005


I've updated the installer ... should be able to handle uninstall
better. Same link:
http://lcdbible.sourceforge.net/misc/biblecs_proto_installer.zip

There is also a:
ScrapeOffEverything.exe (with nsi)
that basically "blows away" everything that might be related to
"CrossWire\The Sword Project" to get a baseline from which to start.
Use with caution.

There is a lot that can go wrong ... many fussy details ... you are
invited to try to break it. It should clean-up

*
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\CrossWire_The
Sword Project

* HKCU\Software\CrossWire\The Sword Project

*
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Star
t Menu\Programs\CrossWire\The Sword Project

After an install, the "Control Panel + Add/Remove-Programs" should
have an entry for removal, even if the Add/Remove-Program wasn't used
to install the application. The uninstall should remove this, as well
as the menu items in the Start + Programs.

I haven't tested what happens if the StartMenuFolder is modified (I
would advocate that this be fixed ... can't be changed and possibly
not shown). The installer/uninstaller seems to work if something other
than the default installation directory of:
C:\Program Files\CrossWire\The SWORD Project
is used. Subsequent installs start off with the installation directory
specified previously.

The InstallManager.exe (stubbed in this installer) is invoked to allow
removing resources. It is kind of "hanging on at the very end" so that
just about everything else is gone ... a Reboot request may be
triggered.

The installer leaves some "bread crumbs" of where modules were
installed so another Windows application that is based on the
sword-api can have a chance of finding modules.

SWORD_PATH is ignored (except the proxy stubs "sniff around" and find
conf.d entries under the installation directory and under the
SWORD_PATH directory)

----- Original Message ----- 
From: "Lynn Allan" <l_d_allan at adelphia.net>
To: "SWORD Developers' Collaboration Forum"
<sword-devel at crosswire.org>
Sent: Tuesday, October 11, 2005 2:42 PM
Subject: Re: [sword-devel] BibleCS Installer


> Here's a link:
> http://lcdbible.sourceforge.net/misc/biblecs_proto_installer.zip
>
> This installer should work better as far as the preferred order
during
> installation wrap-up:
> * show readme.txt
> * invoke InstallManager.exe
> * invoke sword.exe
>
> During the uninstall, the "pieces" specific to the application are
> uninstalled, then the InstallManager is invoked to allow removal of
> resources.
>
> The point of this proto is feedback whether the "pieces" are being
> displayed in the appropriate order..
>
> Caveats:
> * quite a bit of "magic" done by ModernUserInterface that has me
> baffled for now
> * Not remembering previous install directory if default not used
> * Uninstall incomplete
> * Uses "proxy stubs" for sword.exe, icu*.dll, and InstallManager to
> simplify and expedite
> * there are !define's for BCS_TEST_VERSION and BCS_RELEASE_VERSION
in
> the setup.ini
>   (TEST_VERSION keeps several steps from showing up to expedite
> development)
> * ignoring SWORD_PATH environment variable
>
>
http://forums.winamp.com/showthread.php?s=fc27ff2032df1a41b7de0c979f348a6f&postid=1786691#post1786691
>
> ----- Original Message ----- 
> From: "Troy A. Griffitts" <scribe at crosswire.org>
> To: "SWORD Developers' Collaboration Forum"
> <sword-devel at crosswire.org>
> Sent: Saturday, October 08, 2005 2:40 PM
> Subject: Re: [sword-devel] BibleCS Installer
>
>
> > Hey Lynn,
> > If you'd like to help with this installer, I'd appreciate it.  I'm
> not
> > interested in handling all possible install scenarios for this
> > installer.  We have nearly ~5000 downloads of this software a
> month-- 
> > about 7 an hour and I doubt many of these people will wish to
share
> a
> > common set of sword modules between different SWORD software for
> > Windows.  The ones that do can read the README and figure out how
to
> > create /etc/sword.conf or SWORD_PATH.  The import thing is that 7
> people
> > an hour currently download a version of the software that is 2
years
> > behind, including an incomplete KJV module.  Finishing this
> installer
> > should be a couple hours of work, from your experience, just
> finishing
> > what I've described.  If you'd like to help.  I'd welcome the
help.
> >
> > Thanks for the comments.  You've always been completely thorough
> when
> > considering a task :)
> >
> >
> > > What is your guidance as far as what to try to accomplish:
> > > * Ignore SWORD_PATH (if defined) and suggest
> > > C:\Program Files\CrossWire\The SWORD Project\
> > > but accept changes to that and leave SWORD_PATH undefined (or
the
> same
> > > as it was before if SWORD_PATH was already defined)
> >
> > The SWORD software doesn't change for the Windows build.  It will
> deal
> > with SWORD_PATH, or even /etc/sword.conf files even on a Windows
> box.
> >
> > The Windows Installer currently does not do anything with these
> > settings, but merely places modules in the same directory as the
> EXE.
> > For now, I'd just like to switch the installer from InstallShield
to
> the
> > NullSoft installer, and get a new package out the door.
> >
> > If you're worried about LcdBible not finding the same module set
as
> > BibleCS, you can add customization to your hearts desire to
> LcdBible's
> > installer, and even update new options for the BibleCS installer
in
> the
> > future, if you'd like.
> >
> > Just to requote my original assessment:
> >
> > >>Simply, I think all we still need to do is:
> > >>
> > >>Rename the install directory from 'The SWORD Project for
Windows'
> to
> > >>'CrossWire/The SWORD Project'
> > >
> > >
> > > Ok.
> > >
> > >
> > >>Launch Readme.txt, and on close launch InstallManager.exe (yes,
> new
> > >>name-- since we pushed most of this functionality into the
engine
> > >
> > > and
> > >
> > >>now have an installmgr.cpp in the engine, this was renamed to
> avoid
> > >
> > > mixups).
> > >
> > > Seems do-able.
> > >
> > >
> > >>Registry key so updates and reinstalls go to the same place.
> > >
> > >
> > > Ok.
> > >
> > >
> > >>Registry key that the current installer adds so that our windows
> > >
> > > module
> > >
> > >>installer can find the install directory.
> > >
> > >
> > > Would this be based on the SWORD_PATH environment variable, or
the
> > > registry variables of BibleCS? What if they aren't the same?
Which
> > > would have precedence?
> >
> > The current installer adds a registry key which the current
> > InstallShield MODULE INSTALLER keys off to know where to install
> > themselves.  The task involves discovering what key this is and
> making
> > sure the new NullSoft BIBLECS installer still adds this same key,
so
> as
> > not to disrupt the continued use of the current InstallShield
> Windows
> > MODULE installer-- for now.
> >
> > >>That should be it.
> > >>
> > >>I would really appreciate the help and have already appreciated
> the
> > >>comments.
> >
> >
> > Thanks for considering Lynn.  I really would appreciate this help
> and
> > for someone to own this if you'd be willing.  My desire for this
> > installer is to make things as simple as possible for the end user
> and
> > not cloud them with multiple options which 99.99% of them will not
> > understand.  I'd be happy with an 'Advanced' button, but the
> standard
> > install should ask the same common basic questions of any other
> Windows
> > installer.  That's about my only concern (and that it actually
> works).
> > So if you'd be interested, it would be a blessing a many people.
> Please
> > let me know.
> >
> > -Troy.
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > >>
> > >>-Troy.
> > >>
> > >>
> > >>Lynn Allan wrote:
> > >>
> > >>>Troy,
> > >>>
> > >>>Would you like some assistance with the nsis installer for
> > >
> > > BibleCS? Or
> > >
> > >>>is it proceeding along nicely (or done)?
> > >>>
> > >>>I'm getting ready to update the LcdBible software so that it is
> > >>>sword-api compatible, along with a number of other
improvements.
> > >>>Perhaps you could provide guidance on putting together an nsis
> > >>>installer for LcdBible that would be directly applicable to an
> > >>>installer for BibleCS? My impression is that both have similar
> > >
> > > issues
> > >
> > >>>with SWORD_PATH, the InstallManager, uninstall, and other
> > >
> > > concerns.
> > >
> > >>>The "lessons learned" from LcdBibleNsisSetup.exe could be
> > >
> > > incorporated
> > >
> > >>>into BibleCsNsisSetup.exe.
> > >>>
> > >>>----- Original Message ----- 
> > >>>From: "Troy A. Griffitts" <scribe at crosswire.org>
> > >>>To: "SWORD Developers' Collaboration Forum"
> > >>><sword-devel at crosswire.org>
> > >>>Sent: Thursday, September 22, 2005 1:28 PM
> > >>>Subject: Re: [sword-devel] BibleCS Installer
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>>Lynn,
> > >>>>I've not looked at the installer since I sent the email.  I
> would
> > >>>
> > >>>LOVE
> > >>>
> > >>>
> > >>>>for your help on this.  I only used the eclipse wizard to get
me
> > >>>>started.  They also supply a highlighting code editor and
popup
> > >
> > > hint
> > >
> > >>>>help for NSIS functions.
> > >>>>
> > >>>>Thanks for your input!
> > >>>>
> > >>>>-Troy.
> > >>>>
> > >>>>
> > >>>>
> > >>>>Lynn Allan wrote:
> > >>>>
> > >>>>
> > >>>>>Troy,
> > >>>>>
> > >>>>>I've used the NSIS installer a fair amount, although with
> "native
> > >>>
> > >>>1.x"
> > >>>
> > >>>
> > >>>>>scripting rather than with Eclipse. I was able to get
setup.nsi
> > >
> > > to
> > >
> > >>>>>compile and run, and wanted to check if you have resolved
your
> > >>>>>questions before looking closer.
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>>There are a few things missing:
> > >>>>>>  Launch Readme.txt and wait for close BEFORE launching
> > >>>>>
> > >>>>>InstallManager.exe
> > >>>>>
> > >>>>>NSIS has the .onInstSuccess standard routine that may help.
You
> > >>>
> > >>>may
> > >>>
> > >>>
> > >>>>>want to invoke InstallManager.exe with this (below code also
> > >>>>>illustrates dealing with SWORD_PATH environment variable):
> > >>>>>
> > >>>>>Function .onInstSuccess
> > >>>>> ClearErrors
> > >>>>> ReadEnvStr $R0 SWORD_PATH
> > >>>>> MessageBox MB_OK "LcdBible ver ${VERSION_DISPLAY}
> > >>>
> > >>>(${DATE_DISPLAY})
> > >>>
> > >>>
> > >>>>>\
> > >>>>> $\r$\nMini Tutorial for new users: \
> > >>>>> $\r$\n1. *********** LcdBible info goes here
> > >>>
> > >>>*******************. \
> > >>>
> > >>>
> > >>>>> $\r$\nFeedback appreciated: LcdBible_at_yahoogroups.com \
> > >>>>> $\r$\nSWORD_PATH should be set. Currently = $R0 \
> > >>>>> $\r$\n \
> > >>>>> $\r$\nLcdBible will start as soon as you click on the 'OK'
> > >>>
> > >>>button.\
> > >>>
> > >>>
> > >>>>> $\r$\nEnjoy! LcdBible is 'freeware' (no charge)"
> > >>>>> Exec $INSTDIR\LcdBible.exe
> > >>>>>FunctionEnd
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>>  Registry keys correct so Windows Module self-installers
> > >>>>>
> > >>>>>(website,
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>>module download, windows) know where to unzip themselves.
> > >>>>>>  Uninstaller successfully launching
> > >>>
> > >>>"$INSTDIR/InstallManager.exe
> > >>>
> > >>>
> > >>>>>>-uninstall" to uninstall all modules
> > >>>>>
> > >>>>>
> > >>>>>Are these still unresolved? I can perhaps help ... also,
there
> is
> > >>>
> > >>>an
> > >>>
> > >>>
> > >>>>>extraordinarily active and helpful NSIS installer forum that
> I've
> > >>>>>found incredibly valuable.
> > >>>>>http://forums.winamp.com/forumdisplay.php?s=&forumid=65
> > >>>>>
> > >>>>>
> > >>>>>_______________________________________________
> > >>>>>sword-devel mailing list: sword-devel at crosswire.org
> > >>>>>http://www.crosswire.org/mailman/listinfo/sword-devel
> > >>>>>Instructions to unsubscribe/change your settings at above
page
> > >>>>
> > >>>>_______________________________________________
> > >>>>sword-devel mailing list: sword-devel at crosswire.org
> > >>>>http://www.crosswire.org/mailman/listinfo/sword-devel
> > >>>>Instructions to unsubscribe/change your settings at above page
> > >>>>
> > >>>
> > >>>
> > >>>
> > >>>_______________________________________________
> > >>>sword-devel mailing list: sword-devel at crosswire.org
> > >>>http://www.crosswire.org/mailman/listinfo/sword-devel
> > >>>Instructions to unsubscribe/change your settings at above page
> > >>
> > >>_______________________________________________
> > >>sword-devel mailing list: sword-devel at crosswire.org
> > >>http://www.crosswire.org/mailman/listinfo/sword-devel
> > >>Instructions to unsubscribe/change your settings at above page
> > >>
> > >
> > >
> > >
> > > _______________________________________________
> > > sword-devel mailing list: sword-devel at crosswire.org
> > > http://www.crosswire.org/mailman/listinfo/sword-devel
> > > Instructions to unsubscribe/change your settings at above page
> >
> > _______________________________________________
> > sword-devel mailing list: sword-devel at crosswire.org
> > http://www.crosswire.org/mailman/listinfo/sword-devel
> > Instructions to unsubscribe/change your settings at above page
> >
>
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
>




More information about the sword-devel mailing list