[bt-devel] Windows SVN Build

Greg Hellings greg.hellings at gmail.com
Tue Apr 7 07:47:42 MST 2009


On Tue, Apr 7, 2009 at 3:12 AM, Matthew Talbert <ransom1982 at gmail.com> wrote:
>>> Also, I had to make a c:\Documents and Settings\<login>\.sword directory and
>>> set an environment variable SWORD_PATH to point at this directory. BibleTime
>>> was working then.
>>
>> I might be able to create that automatically with the installer (the
>> ~\.sword directory, that is), but I don't think I can mess with the
>> environment variables.  The .sword file shouldn't be necessary - it's
>> absent from my system and has been on everyone else, I believe, who
>> has tested it.  But yes, the SWORD_PATH needs to point to something.
>> In my case, I point it to the C:\Program Files (x86)\CrossWire\The
>> SWORD Project directory, which is where my modules are installed.
>
> FWIW, Xiphos and jsword both use %APPDATA%/Sword for module
> installation. Xiphos also allows the use of a shared directory,
> determined either by SWORD_PATH or %ALLUSERSPROFILE%/Application Data
> if SWORD_PATH is not set. Both of these places will be searched by
> default in the next release of sword.
>
> For setting SWORD_PATH, if it isn't already set by the user, we set it
> during startup using the glib-equivalent of setenv(). I'm sure QT
> provides a way to do that as well. These variables are not permanent;
> they only last as long as the program is running.
>
> I strongly discourage setting SWORD_PATH with the installer. This
> might cause confusion if the user has set it to something else, or is
> just expecting the default in another frontend, but suddenly things
> are different after installing BT (I know no one has mentioned doing
> that yet).

Mainly because we don't do that with the installer ATM.  I'm still
using just the basic .msi builder from Visual Studio, and I don't know
that it's capable of that.  When we move to something more robust is
when we would think about how to work with that.

>
> We spent a lot of time testing this setup on various computers and
> Windows versions. We feel that it is the best approach to use on Vista
> and up in particular, because it allow normal users to install
> modules, plus it allows some modules to be private and others shared,
> just as you would expect on *nix. Some disagree with this approach,
> preferring to install modules to "C:\Program Files\CrossWire\The SWORD
> Project". Based on my testing, this location triggers UAC on Vista+,
> plus makes it impossible for normal users to install modules. I guess
> it depends on whether that sort of thing matters to you or not, but to
> me it does.
>
> Don't hesitate to ask if you want to know more about how Xiphos does
> this, or if you don't understand my explanations above. Of course, I
> think that the route we have chosen is best :) and it would be nice if
> we could both do the same thing.

I would definitely advocate using the same scheme between BibleTime
and Xiphos.  It would also be nice to get the input of the BPBible
group and any other Windows front-ends that are knocking around, so
that no one clobbers the others installations.

Curiously... should these things be set with compile-time options that
are #ifdef'd for Windows/Mac/Linux or can I just use an installer
system, like NSIS, to write a sword.conf to the installation
directory?  It seems that would be the most straightforward option --
but I don't know if I could use something like %APPDATA%/ in a
sword.conf to pick up that user's specific directory.  I suppose I'll
just have to get off my duff and start working with NSIS.  Does anyone
else have a preference for how this is done?

--Greg

>
> Matthew
>
> _______________________________________________
> bt-devel mailing list
> bt-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/bt-devel
>



More information about the bt-devel mailing list