[RFC] Idea how to fix PATH (and other) problems
Ch.Ehrlicher at gmx.de
Wed Aug 8 06:32:51 CEST 2007
Andreas Pakulat schrieb:
> On 07.08.07 10:50:38, Christian Ehrlicher wrote:
>> Due to recent discussions on k-c-d where to put shared libs on win32, I thougt it would be nice to think about what else is different on win32 / where we have to take care of:
>> - we have to modify the PATH env var - this makes it impossible to move around our install dir
>> - we have to take care that we use the correct dependency libs
>> - we've two different compilers which are not ABI compatible
>> - the application icon is not included in the executable because it's handled totally different on non win32
>> All this makes it hard for a normal user to use kde apps on win32.
>> My idea is to create a wrapper executable which handles all the things above for us. This wrapper is merged with the executable on install time and is written with pure win32 api to avoid dependencies. On execution the wrapper sets up all things needed to execute the programm (maybe saving some settings in the registry to avoid delays on the next run). It sets up the correct PATH, looks if all our dep libs are available (in the path) and also knows if it's a mingw or msvc binary (and therefore set the path to kde4-install/lib/msvc or kde4-install/lib/mingw).
>> After all is done, the real executable is executed with CreateProcess directly from the memory - like a packer for executables. When the app is crashing, it should also be possible to get some more informations because we launched the app and therefore can play Dr.Watson.
> Hmm, sounds like an ok plan to me, as long as this really stays within
> the limits of changing some library paths, PATH and packing the
> executable. PutHuhn just said some very scary things on IRC (he
> mentioned upx and relocating , fixing import tables and what not) and I
> don't think thats a good way to make it easier for users (he also said
> that would be trial/error and pretty much black magic stuff going on).
As I only want to have one executable we'Ve two options
a) 'unpack' the real executable into a temp directory and execute it
b) execute it from memory
I'd prefer the second, but for the start the first will work too
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 250 bytes
Desc: OpenPGP digital signature
Url : http://mail.kde.org/pipermail/kde-windows/attachments/20070808/0fde3d5c/attachment.pgp
More information about the Kde-windows