[RFC] Idea how to fix PATH (and other) problems

Ralf Habacker ralf.habacker at freenet.de
Tue Aug 7 22:36:09 CEST 2007


Christian Ehrlicher schrieb:
> Hi,
>
> 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.
>
> Alex: is it possible to execute a programm on install time which merges the wrapper and the executable? Or do we loose the ability to install only newer files? Maybe we have to move it to link time - but do we have access to the app icon then?
>
>
> Any comments?
>   
Yes, see append kwrapper, which could be used from windows startmenus. 
It takes the application to run as parameter. This could be used as 
target in startmenu links, so there would be not need to create a 
wrapper for every application.

Additional in the appended CMakeLists.txt there is initial support for 
kde applications with application icons.
It uses an external png2ico tool (installable by the installer) to 
convert png's to ico's and to add this to an kde application. Then this 
icon is not required to installed too because it is in the application.  
This icon could be directly used to be displayed in the startmenu, when  
creating the startmenu entry.

In the installer there is initial support for creating startmenu links 
based on kde desktop files ( I remember Christian wrote this), which 
could be used to create startmenues entries on install time without any 
additional changes required in the packager.

Unfortunally I had not found enough time to make this complete.

Ralf

-------------- next part --------------
A non-text attachment was scrubbed...
Name: kwrapper.zip
Type: application/x-zip-compressed
Size: 19733 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-windows/attachments/20070807/97da8ed1/attachment.bin 


More information about the Kde-windows mailing list