Executing commands from applications running under wine

Questions about Wine on Linux
Locked
lovyagin
Level 2
Level 2
Posts: 13
Joined: Fri Aug 20, 2010 5:36 am

Executing commands from applications running under wine

Post by lovyagin »

After update to wine 1.6 (Fedora 19 distribution) I could not run linux programs from applications running under wine any more. For example using wine 1.5.x I was able to type 'roxterm'/'konsole' to open terminal windows and 'caja' to open file manager from wine's cmd.exe shell or Far Manager command line, but 1.6 wine says that such commands are not correct. So I had to stub at wine version 1.5.x for all these month.

Now wine 1.7.x (coming with Fedora 20) appears to have same issue.

Wonderfully, if I type `ls.' instead of `ls' for example it runs from cmd, but I need wine shell command to run any linux executable installed in system normally, like it was in old version. Is there any fix? And typing `roxterm.' in Far Manager doesn't work anyway.
lovyagin
Level 2
Level 2
Posts: 13
Joined: Fri Aug 20, 2010 5:36 am

Re: Executing commands from applications running under wine

Post by lovyagin »

I investigated source of cmd program and found the difference between 1.5.x and 1.7.x versions. The attempt to run INTERNAL PROGRAM is removed completely from the function

Code: Select all

void WCMD_run_program (WCHAR *command, BOOL called);
for example the following lines removed:

Code: Select all

BOOL  assumeInternal = FALSE;
...
  /* Internal programs won't be picked up by this search, so even
      though not found, try one last createprocess and wait for it
      to complete.
      Note: Ideally we could tell between a console app (wait) and a
      windows app, but the API's for it fail in this case           */
    if (!found && pathposn == NULL) {
        WINE_TRACE("ASSUMING INTERNAL\n");
        assumeInternal = TRUE;
    } else {
        WINE_TRACE("Found as %s\n", wine_dbgstr_w(thisDir));
    }
...
For heaven's sake, why?
Locked