How to run Yahoo Messenger 9 in Wine

How to do things, solutions, recipes, tutorials
Message
Author
User avatar
Patriot
Posts: 733
Joined: Thu 15 Jan 2009, 19:04

How to run Yahoo Messenger 9 in Wine

#1 Post by Patriot »

Hmmm ...

About a month ago, I looked into the possibility of a stable yahoo messenger with wine. It was a slow process as I didn't have much spare time to play with. About a week ago, I had a very stable and usable setup with ym8.1 and wanted to get some people who wants ym to join in and try my config. Alas, a few days later, I no longer able to login with ym8.1 even on a windows system. Yahoo has made some changes (I guess it's the protocols) that makes login difficult if not impossible for ym8.

So, I started from scratch and it seems that I have found another config that allows me to use ym9.0 with wine. Almost everything is working except a few stuffs that is not currently supported by wine (most probably) due to core internal stubs.

Stuffs with issues
1. Main Menu bar skinning. Not working (most probably) due to lack of wine internal functions.
2. Alphablending. Also not working due to wine limited support.

Stuffs not tested (yet)
1. webcam
2. chat rooms (it was working in ym8.1. Untested in ym9)

I list here all the necessary steps to have a working ym9 on wine.

Quicksetup for geeks :
1. Install and setup wine
2. Install flash9
3. Setup dll overrides for ym
4. Copy all the required dlls
5. Install and run ym

Detailed setup instructions for lamers (like me) :

1. Install wine. Recent versions will work fine. I'm using wine 1.1.20. Previous version tested to also work was wine 1.1.18.

2. Copy some (useful) fonts to wine folder, ie. Arial, Tahoma, Trebucet, etc.

3. For first time wine setup, run winecfg and setup audio

4. Install flash9 activeX. Use a standalone installer. If you don't know where to get one then ask google. If you're still blurred then get one from oldapps.com/oldversion.com. Don't miss this step as this is REQUIRED for ym.

5. Setup the dll overrides for ym9. Find it in the attached archive below. Either enter them manually or use :

# regedit ym9.reg


6. Get the dlls into windows\system32. You have three choices. One, use winetricks or equivalent to get these dlls. Two, go hunt down your windows CD and copy over the dlls. Three, look through windows updates for the dlls. Full dll list can be found in the attached file.

7. Get a recent version of yahoo messenger 9, ex: ym 9.0.2152. The standalone installer is recommended but the ym9 web installer will also work. Using ym9 web installer will also install flash10 and other stuffs.

8. Open ROX-Filer and look for any .exe in wine (ex: /root/.wine/drive_c/windows/explorer.exe). Right click on it and set run action to 'wine "$@" 2>/dev/null'. This allows you to run any .exe from ROX.

9. Cross all your fingers and click on ym installer.

10. YahooMessenger will run right after installing. Login and say yahoo!

Rgds



Sample screenshots:

Image Image
Fullscreen ym main window Fullscreen IMwindow

Q&A

Q1. How to gain access to main menu ?
A1. Click on the desired ym window and press alt key or if you know the menu shortcut then press alt+menu_shortcut (ex: alt+m in main window).

Q2. I get black bar in main window ?
A2. Alphablending not fully working in wine. Set your contacts to compact list.

Q3. I can't move/resize the window ?
A3. Use alt+right_click for jwm and then resize.

Q4. How to display the main menu bar then ?
A4. Ask winehq.org to implement GetMenuBarInfo. I'm lame with C and don't have the luxury (yet) to do this. I've also experimented with the skins but haven't made much progress due to limited time.

Q5. I clicked on one of my contact/friend but no IMwindow appears or only half appears ?
A5. A (wine botched) skinning related issue. Click the window twice on your taskbar to min-max it and it will come out and play nicely.

Q6. How do I close/minimize the IMwindow ?
A6. The (wine botched) skinning makes the hotzones a little off. Move your mouse a little lower to get the min/max/close button highlighted. Using the taskbar also works.

Q7. Are those dlls overrides really necessary ?
A7. Very subjective issue. I use dlls with least dependency with supported functions required by ym9. There's no absolute yes/no here. Anyone is encouraged to find/use dlls after checking its dependency. Wine still has a long way to go in supporting all required windows functions.

Q8. Where can I find these dlls ?
A8. Your windows CD or system ?

Q9. How do I use native browser seamonkey in wine ?
A9. Get the attached natbrowine archive. Put seamonkey.exe in windows folder and add winebrowser.reg to the registry (ie. regedit winebrowser.reg).

Q10. Errr, ym does not run ?
A10. Open a terminal in yahoo! folder and run it manually, ie. wine YahooMessenger.exe .... you'll see where and why it breaks ... That'll keep you entertained ...



+=+
Attachments
natbrowine.zip
use native seamonkey as wine default browser
(426 Bytes) Downloaded 842 times
dll-list.zip
list of dlls to copy. Place 'em into wine's windows/system32
(697 Bytes) Downloaded 1065 times
ym9-reg.zip
yahoo messenger 9 dll wine override list
(360 Bytes) Downloaded 1064 times
ragaman
Posts: 186
Joined: Sun 14 Jan 2007, 12:55

#2 Post by ragaman »

Finally a how-to in installing (and running, I hope) YM in Linux. Thanks Patriot.
sirald66
Posts: 2
Joined: Wed 03 Jun 2009, 01:57

#3 Post by sirald66 »

Wowzers, looks like I have my work cut out.

You have certainly progressed much further than I could have just by hacking.

Added my feedback to WineHQ's BugZilla
User avatar
Patriot
Posts: 733
Joined: Thu 15 Jan 2009, 19:04

#4 Post by Patriot »

Hmmm .....

I'm currently still running wine 1.1.20 with a newly configured ym9 using "pure" xp dlls replacements. The dll list is quite huge ... It's running stable with no crashes. Logins, send/receive texts, send/receive files, emoticons, IMvironments all fully working. Other issues as listed above still stands.

Haven't got the time to build wine 1.1.22 yet and I don't think ym9 can fully run solely on wine dlls for several more releases. I've read your (@sirald66) bug report on winehq. Those crashes can occur due to either flash, jscript or shdocvw components ... Sadly, a lot of stuffs in wine is still not fully implemented for ym9 to function right ... Also still seeing a lot of stubs in wine ...

I'll see if I can minimize the dll list when I have more time ...

Rgds
w00tz
Posts: 6
Joined: Tue 04 Aug 2009, 15:13

#5 Post by w00tz »

Hello everyone, hello Patriot.
Any more updates on this subject?
For the past few days I have been struggling with making it work.

I was once able to log in, open a conversation window and send messages. The messages would reach the intended person, but if he wrote me back I could see nothing. The cool thing was it would not crash.

I can't seem to reproduce this anymore. Now I can only log in and if I open up a conversation window, it crashes with the following error:

Code: Select all

wine: Unhandled page fault on read access to 0x00000000 at address 0x5e4eba (thread 0009), starting debugger...
I followed your howto, except the following:
msxml3a.dll is missing from Windows. And I don't quite understand how important is step number 8 - Rox-filer.

Additions:
In your reg key you put native for every library override, this however seems to error with the following:

Code: Select all

err:module:import_dll Library COMCTL32.dll (which is needed by L"C:\\Program Files\\Yahoo!\\Messenger\\YahooMessenger.exe") not found
err:module:import_dll Library comctl32.dll (which is needed by L"C:\\windows\\system32\\shell32.dll") not found
err:module:import_dll Library shell32.dll (which is needed by L"C:\\windows\\system32\\wininet.dll") not found
err:module:import_dll Library WININET.dll (which is needed by L"C:\\Program Files\\Yahoo!\\Messenger\\YahooMessenger.exe") not found
...so on and so forth...

Code: Select all

err:module:LdrInitializeThunk Main exe initialization for L"C:\\Program Files\\Yahoo!\\Messenger\\YahooMessenger.exe" failed, status c0000135
I must use Builtin then native. Also Builtin seems to work too.

After starting YM9, it gives the following warning:

Code: Select all

fixme:ras:RasEnumConnectionsA RAS support is not implemented! Configure program to use LAN connection/winsock instead!
I once copied an original installation of Windows over the windows in wine.
I think that is when it almost worked for me. I was running under root then. Maybe this matters?!
Also, in a previous attempt, the ads from YM were working. But not now anymore.

Details:
OS: Ubuntu 9.04, 2.6.28-14 kernel
Wine: 1.1.26. Installed along with wine-gecko.
Flash 9 and Flash 10 installed without error.

Awaiting an answer from you.
Thanks mate.
Last edited by w00tz on Wed 05 Aug 2009, 13:57, edited 1 time in total.
sirald66
Posts: 2
Joined: Wed 03 Jun 2009, 01:57

#6 Post by sirald66 »

Patriot, I appreciate your effort and am following along.

I tried WineTricks but had some issue, will have to try again.
User avatar
Patriot
Posts: 733
Joined: Thu 15 Jan 2009, 19:04

#7 Post by Patriot »

Hmmm .....

@wootz

About fixme:ras:RasEnumConnectionsA, that one is a minor issue. Wine haven't implemented it yet and using ms dll will just bork things up (actually w98 dll is ok, xp dll is not) ...

I can't remember off-hand what was the actual step I did to use native comctl32 instead of built-in wine. For one, I disabled :

/drive_c/windows/winsxs/x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef.manifest

There's (probably) a step that I couldn't recall in-between disabling the above.

I wouldn't encourage copying over the entire windows binaries over to wine. Here's how I do it, I use dependency walker to see if a particular dll is suitable with wine. I must have tested hundreds of dlls (ranging from win98se -> nt4 -> win2k -> xp). Then, match it with the apps that I want to use. Most of the time, wine dlls are fine with majority of the apps. The tricky ones are apps that relies heavily on ms intimate stuffs (DirectX, mshtml, msxml, jscripts, flash comes to mind).

Ym8 was a lot easier as I was able to use win98 dlls ... Ym9 is basically (I think) a winxp dependent app as the new ym skinning engine seems to have winxp uxtheme dependency.

Basically, the ads, info pages & IMvironments requires mshtml and flash (and yes, not having flash borks everything). The messages box requires richedit/mshtml. The skinning seems to need msxml. The one that glues 'em together seems to be jscript. There's several other stuffs running in between to make ym9 live in harmony ...

@sirald66, @wootz & anyone else interested

I'm unable to do much right now due to time constraints. However, I'm still keen to have ym9 running with minimum dll replacement.

I've just grabbed wine 1.1.26 sources and will make a few binary set this weekend. I'll start from scratch again and I hope I'll be able to provide a more reliable method/dlls for running ym9 on wine.


Rgds
w00tz
Posts: 6
Joined: Tue 04 Aug 2009, 15:13

#8 Post by w00tz »

Great news Patriot, thank you for the quick response.
I'm eagerly waiting your results.
I'll keep playing with this and see if I reach any outcome.
w00tz
Posts: 6
Joined: Tue 04 Aug 2009, 15:13

#9 Post by w00tz »

Boy do I have some great news.. I finally made it work.
I didn't do much. basically I just copied dlls. Great program that Dependency Walker BTW.

I'll come back again and say what I did after I redo the whole thing from scratch, just to make sure it works again.

Here's the screenshot :D :
ragaman
Posts: 186
Joined: Sun 14 Jan 2007, 12:55

#10 Post by ragaman »

Been following this thread eagerly. Thanks for the effort guys. More power to you.
w00tz
Posts: 6
Joined: Tue 04 Aug 2009, 15:13

#11 Post by w00tz »

Steps-by-step.
1. Install the latest wine. I used version 1.1.30. http://www.winehq.org/download
Also install wine-gecko (should be installed automatically with wine).

2. Open up a terminal and run the winecfg command. It will set up the wine environment for the current user. Full path is: /home/$username/.wine/drive_c . Press OK afterwards.

3. Install flash9. Go to http://www.oldversion.com and search for it there. Then install it using wine flash9p.exe .

4. Import the attached ym9.reg. It is what Patriot wrote in his reg. I did not change that. I just changed the overrides to "Native then Builtin" because those worked for me. Use regedit ym9.reg .

5. Copy and overwrite the dlls to /home/YourUserName/.wine/drive_c/windows/system32 folder (list is attached). I got my dlls from XP.

6. Get the yahoo web installer. I used that because it also installs flash 10, which is needed. Use wine msgr9us.exe. If the install progress hangs, just press CTRL+C in the terminal and run again the installer.

7. Have fun. If you're a girl, send me a kiss and think about me when you're sleeping :lol:

Waiting for reviews.

Tip: If the flash ads do not load then most probably ym will crash. Make sure you followed the steps correctly.
Patriot wrote: Q1. How to gain access to main menu ?
A1. Click on the desired ym window and press alt key or if you know the menu shortcut then press alt+menu_shortcut (ex: alt+m in main window).

Q2. I get black bar in main window ?
A2. Alphablending not fully working in wine. Set your contacts to compact list.

Q6. How do I close/minimize the IMwindow ?
A6. The (wine botched) skinning makes the hotzones a little off. Move your mouse a little lower to get the min/max/close button highlighted. Using the taskbar also works.
Working: Buzz, IMVironment, Audibles, Fonts, Smileys, Avatars, Photo Sharing, Archive, Webcam, Calling.

Known Bugs:
- When trying to add a new contact to your list, ym will crash.
- Games require java. Try installing that and see if they work.

Everything else not tested.
Attachments
dlls-to-use.zip
(270 Bytes) Downloaded 761 times
ym9reg.zip
(335 Bytes) Downloaded 853 times
Last edited by w00tz on Wed 07 Oct 2009, 13:09, edited 2 times in total.
Almas
Posts: 3
Joined: Thu 27 Aug 2009, 17:08

Thank you

#12 Post by Almas »

Thank you. You guys are rock!!! :D Now I will try it. Thank you thank you.
I'm not girl, if you were girl I would kiss you kkk :D
Almas
Posts: 3
Joined: Thu 27 Aug 2009, 17:08

Can't login

#13 Post by Almas »

Followed w00tz instruction. Installed OK baut can't login to yahoo with my ID and password :(.

Can you give me a advice?
ragaman
Posts: 186
Joined: Sun 14 Jan 2007, 12:55

#14 Post by ragaman »

Same experience as Almas here.

Screenshot attached.
Attachments
Screenshot.jpg
(131.5 KiB) Downloaded 733 times
w00tz
Posts: 6
Joined: Tue 04 Aug 2009, 15:13

#15 Post by w00tz »

@Almas, you've got to give more details / screenshot.

@ragaman, as far as I can see from the screenshot, the smiley face is missing; the window is white. That means that:
1. flash 9 or 10 (or both) isn't installed correctly
2. there is a dependency problem (missing dlls?)

Trying now to reproduce this problem.
edit: Can't reproduce it.. on every machine I try, if I follow the steps described previously, it works.

Try again. Or give me remote access and I can try it.
ragaman
Posts: 186
Joined: Sun 14 Jan 2007, 12:55

#16 Post by ragaman »

Hi, wootz. Thanks for your help. I' m planning to start from scratch (freshly installed wine) so there won't be any other stuff to muddle the issue.
ionux
Posts: 1
Joined: Fri 25 Sep 2009, 22:46

#17 Post by ionux »

w00tz, i tried it your way, and it kind of works, but when i double-click a contact to send it an instant message or when some contact tries to send me an instant message, it crashes.... any suggestions?
Adhoc
Posts: 1
Joined: Sun 04 Oct 2009, 02:07

#18 Post by Adhoc »

hi guys, I followed wootz instructions and finally got messenger running and logging in (after I realised I was using an older version of wine and upgraded it) I am now using Wine 1.1.3

I can start a conversation and the other person will see what I am typing but I get absolutely nothing on my screen, any ideas why?

Also I have managed to get messenger to recognise that there is a webcam connected in the settings page in the "Camera Source" button, but trying to run the webcam and it says "sorry no webcam was found on your system"...
For camera source it has "/dev/video0"

Any help is appreciated
w00tz
Posts: 6
Joined: Tue 04 Aug 2009, 15:13

#19 Post by w00tz »

I Started with a fresh copy of Ubuntu and installed Wine 1.1.30. Followed my exact steps and it works without problems..
@Adhoc: Did you overwrite the dlls in wine/drive_c/windows/system32? Where did you get your dlls from?
Start yahoo messenger via wine in a console and see if it complains about any .dll...
I can't help you with the cam.. never used one under Linux.

@Ionux: Yes, that would also happen to me when I didn't install flash or I didn't overwrite the dlls in system32 with those from the list.

I can upload the dlls if this is necessary, but they're just from a normal XP installation, nothing special about them..
2nafish
Posts: 1
Joined: Thu 29 Oct 2009, 16:09

#20 Post by 2nafish »

w00tz wrote: Known Bugs:
- When trying to add a new contact to your list, ym will crash.
Adding a new contact to your list will prevent Yahoo from running until you reboot.
Post Reply