[sword-devel] BibleCS Installer

Lynn Allan l_d_allan at adelphia.net
Sun Sep 25 22:00:25 MST 2005


> SWORD_PATH is out of scope for this installer.  Our windows
installer
> has always looked by default in the current directory for mods.d

I'm not sure what you mean by this. Don't take SWORD_PATH into account
regardless of whether it is defined or not?

My impression is that the SwMgr (and associated classes) within the
sword-api tries to resolve where to find resources in the current
directory (using mods.d) and then using SWORD_PATH and "sniffing" for
mods.d in that subdirectory tree.

It isn't obvious how to do, but is possible to manipulate environment
variables like SWORD_PATH with nsis. (ReadEnv is built-in, SetEnv
takes some extra code).

Does the InstallManager.exe define SWORD_PATH, or is that an optional
activity of the end-user? Does (or will) the InstallManager.exe offer
to set this environment variable?

My concern (perhaps unjustified or unavoidable) is that a person could
unintentionally have BibleCS installed in:
C:\Program Files\CrossWire\The SWORD Project\BibleCS\
and have an entire set of resources in mods.d and modules "under" that
directory, and also have a redundant set of resources under
C:\Program Files\CrossWire\The SWORD Project\LcdBible\
or
C:\Program Files\LcdBible\

It may be intentional to have redundant resources for testing and/or
confirmation (like beta installs).

My impresssion is that you would prefer to have both BibleCS.exe and
InstallManager.exe (and something like LcdBible.exe) all in:
C:\Program Files\CrossWire\The SWORD Project\

There are some risks that some "clobbering" could happen with one
installed, then another, then a re-install or one or the other.

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)

* If defined, use SWORD_PATH as the suggested installation directory.
Provide warnings if they choose another directory (which could be the
case with a test installation such as a beta). Offer to change
SWORD_PATH to conform to their choice, with an indication of the
ramifications of having their installation in something other than
SWORD_PATH.

* If SWORD_PATH not defined, offer to set it to the installation
directory.

* If SWORD_PATH defined or changed during the course of the
installation, it may be prudent to force a reboot. Drat.

> 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?

> That should be it.
>
> I would really appreciate the help and have already appreciated the
> comments.
>
> -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
>




More information about the sword-devel mailing list