[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: deployment issues on windows
From: |
Lloyd Dupont |
Subject: |
Re: deployment issues on windows |
Date: |
Fri, 15 Jul 2005 09:30:57 +1000 |
Thanks Sheldon!
Additionally, some inline comments below,
OK, I know, I have the source....
Anyway let me explain the problem and maybe someone could show me a quick
fix.
It seems that all GNUstep based application need to be deployed is
GNUstep's DLLs, plus to set the environment variable:
GNUSTEP_SYSTEM_ROOT
to point to a directory containing the content of <GNUstep>/System
so far so good.
This isn't the whole story:
a) GNUstep supports a configuration file, so you could have built to look
for the conf file in the same dir as the app.
b) GNUstep supports reading the ROOT from the registry. Have your
installer set it up properly.
haha....
I didn't know about these 2!
could you tell me more?
particularly how do I set it up to use a configuration file?
However this is not reliable (i.e. it sometimes work, sometimes not ;-(
yeah, I know, sometimes...).
Is the putenv() before *all* GS code?
yeah, the putenv is in the static initiliazer my .NET binding
what happen is: this configuration work
GS.dlls
Binding.dll
program.exe
but this one fail
GS.dlls
Binding.dll
LibUsingBinding.dll
Program.exe
But when launch from the console where the environment variables are set, it
always work nicely.
well, investigating the configuration file option...
<snip>
Edit NSPathUtilities.m to use Win32NSStringFromEnvironmentVariable() will
make it read directly from the environment block. I don't think it'll
solve your problem, though. Paths are initialised pretty early.
hhmm.. interesting.. and I get some info about configuration file in
NSPathUtilities as well...
thanks again Sheldon!
A better solution would be to write an app loader:
1) putenv(), whatever other set up you want
2) exec or spawn MindMap.exe which is in the same dir
certainly, but somehow I didn't like the idea.
No real argument against it, mind you....
well, except maybe I found a bit 'daunting' to have to write this launcher
(containing rougly the same code) for everyone of my apps...