[Wine] Cannot start Photoshop

Alan McKinnon alan at linuxholdings.co.za
Sun Oct 15 11:11:22 CDT 2006


On Friday 13 October 2006 19:35, Dotan Cohen wrote:
> On 13/10/06, Alan McKinnon <alan at linuxholdings.co.za> wrote:
> > Here's what I do:
> >
> > Maintain a ~/.wine without winetools
> > Maintain a ~/.winetools with winetools
>
> Sounds reasonable.
>
> > If software won't install in .wine but does in .winetools, then
> > start comparing the two to find relevant differences and move them
> > into .wine
>
> Easier said than done, at my expertise level.

In the respective .wine directories you'll find three files with .reg 
extensions - these simulate the Windows registry. Start by inspecting 
the various DllOverrides sections - there tends to be sections for 
specific apps and one default section. Compare them side by side to see 
how winetools does things different to pure wine.

This is the point where help from others gets to be less and less useful 
as what you do next depends on what you find.

> > More often than not the setting that will make something work is a
> > dll override. Yes, you need to hunt to find cures. Yes, it's hard
> > work. Yes, you will pull your hair out sometimes. This is not
> > wine's fault - the project is successfully doing the (almost)
> > impossible but it will always be somewhat of a round peg and square
> > hole problem. Someone needs to do these comparisons and report up
> > which wine functions now work and do not need the winetools
> > workaround anymore, that person might as well be you :-)
>
> As soon as I finish my degree in mechanical engineering, I'll go get
> one in computer sciences.

No need to get disheartened, it's not that hard once you learn a few 
basics of how wine works. I don't intend to scare you off but it's 
important to realize that wine is still pre-alpha software and have a 
good idea of what you'd be getting into. Pure wine will probably never 
be suitable for the average end-user, for that we'd need someone else 
to build a wrapper around wine that does all the complicated stuff, 
somewhat like CrossOver. Meanwhile me and you get our hands dirty.

> > Meanwhile, you need to upgrade wine like Dejan suggested. Your
> > version is 15 months out of date.
>
> I was actually on the latest, and downgraded at Jocheam's suggestion.
> Hey, what do I know?

Try both versions and start Photoshop from a command line, not from a 
menu icon. Is the output different?
>
> Thanks. I'll see what I can manage without winetools. Always good to
> learn.

A common cause is that an app loads a dll and some necessary 
functionality it needs is not yet implemented in wine, so it returns an 
error or a FIXME message or just plain exits with a wrong result, so 
the app fails to run. You can see this happening by using the WINEDEBUG 
environment variable, it causes wine to print lots of info to the 
console depending on what value you give the variable. 'loaddll' is 
useful, it tells you which dlls get loaded and helps identify the 
faulty one. To run IE6 I'd do this:

WINEDEBUG=+loaddll wine ./iexplore.exe

Which gives output like this:
trace:loaddll:load_native_dll  Loaded module L"C:
\\Windows\\System\\MSHTML.DLL" : native
trace:loaddll:load_native_dll  Loaded module L"C:
\\windows\\system32\\MSOSS.dll" : native
trace:loaddll:load_native_dll  Loaded module L"C:
\\windows\\system32\\CRYPT32.dll" : native
trace:loaddll:load_native_dll  Loaded module L"C:
\\windows\\system32\\OLEAUT32.dll" : native
trace:loaddll:load_native_dll  Loaded module L"C:
\\windows\\system32\\WININET.dll" : native
trace:loaddll:load_native_dll  Loaded module L"C:
\\Windows\\System\\urlmon.dll" : native

You can see 5 dlls being loaded as IE starts and in this case all 5 are 
native (not provided by wine, they actually came from the IE install 
itself). Plowing through this helps identify causes of problems.

Lastly, there's the AppDb section on www.winehq.org - always check this 
site to see if someone else has already done the work to get a app 
working

alan




More information about the wine-users mailing list