David Elliott wrote:
To really follow the UNIX philosophy you want to put it in a seperate application. Save yourself a lot of trouble trying to figure out where to place a hook in wine and simply write it into a completely seperate program. You can then have wine actually run that program with a CreateProcess call or similar at whatever point. The code to do this should NOT be in the wine emulators source code itself, nor do I believe it should be linked in with it.
But one argument was that it would be to performance intensive. Creating a seperate process is much more intensive then checking for a single registry key.
Windows itself (win9x/me at least) actually has this code in WININIT.EXE which is loaded early on in the boot process. It is not necessary or even
But this has to be loaded every time. Or at least there must be some check done every time in order to determine wether it should be run. Do you know how Windows handles this?
desirable to have the code in the emulator itself. It is much more desirable to have it be a completely seperate program. Leave it to the distributors of Wine to implement the actual policy and only provide the mechanism. This is what Alexandre has been saying, and I am saying the same thing. Policy decisions do not belong in Wine, even as configuration options when it can be helped. If you feel you absolutely MUST have this run every time a wine program is started or every time a wine program finishes (maybe this would be better) then write a shellscript like so:
#!/bin/sh wine "$@" wine_movefiles
This is so simple, why would you even waste your time trying to hack it into the boot code for wine?
My prefered way of doing this, independently of having it as a seperate program or included in wine, is to find a way to start it exactly when it is needed. I hate to run it everytime when wine starts/ends or in a batchscript or such. The ideal solution would be to start it when it is really needed.