Jesse Allen wrote:

On 10/31/05, Alex Villací­s Lasso <[EMAIL PROTECTED]> wrote:
Jesse Allen wrote:
This is a quite interesting theory.  So I went ahead and tried to
launch LogicWorks with a "windows" method in wine, and well, I've
failed so far with wine's ProgMan.exe.  The progman crashes anyway
I've tried.

So I boot to windows and try logicworks from cmd.exe.  Indeed, I hit
the same bug as in wine.  So what we have are programs that expect a
certain behavior and the command line doesn't do it.  Bad design.

Hmmm... this raises doubts on whether the behavior should be implemented
at all. What version of Windows are you using?

WinXP

Does your version supply
a COMMAND.COM (in WinXP, it is at c:\windows\system32)? Have you tried
running your program from COMMAND.COM? I would guess that COMMAND.COM
supplies a fully qualified path to the executable file (as in MS-DOS and
Windows 9x), but WinNT/WinXP do not when CMD.EXE is used (???).

I tried command.com and it does not provide a full path in argv[0], I
believe.  I'm gonna write a test program.

Then,
explorer.exe supplies the fully qualified path at all times - that is
why the programs do not crash when started from the shortcuts.

So, what should be the policy in Wine? Should Wine supply the qualified
name at all (I still think it should)? Mr. Julliard sent a patch
proposal that conditionally sets the name. I will try it at home and
report on it tomorrow.


I think 'wine' should launch like explorer by default, and wine's cmd
should launch like window's cmd.  A winecfg per-app setting could work
too but I don't like that as much.

Jesse
I have now tried Mr. Julliard's patch. It works for me.

I have also tried the tests on both Windows 98 and Windows XP (I have a triple-boot configuration):

Windows 98: explorer.exe gives qualified name. command.com gives qualified name WindowsXP: explorer gives qualified name. Neither command.com or cmd.exe give a qualified name.

The conclusion is that both DungeonKeeper and LogicWorks expect the Win98 behavior, and crash on both shells in WinXP. I think wine should follow the Win98 behavior (in order to minimize the crashes), and Mr. Julliard's patch does just that.

Alex Villacís Lasso




Reply via email to