http://bugs.winehq.org/show_bug.cgi?id=19352
Summary: Windows Live Messenger 2009 installer doesn't start Product: Wine Version: 1.1.25 Platform: PC URL: http://download.live.com/?sku=messenger OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: kernel32 AssignedTo: wine-bugs@winehq.org ReportedBy: andras@csevego.net
Created an attachment (id=22415) --> (http://bugs.winehq.org/attachment.cgi?id=22415) +relay,+win log
If you use builtin msxml3 implementation, the installer silently exits. After overriding it with ms's one, the installer goes further then displays an error dialog, which says WLM programs cannot be installed. After further investigation, i looked its setup log, which says: -- SetupUX fatal error :: Tag=OnInitDialog, Error=0x80070717 -- This error means: ERROR_RESOURCE_LANG_NOT_FOUND, which thrown by FormatMessageW After looking at +relay log, i can confirm: (...) 0009:Call KERNEL32.FormatMessageW(00001800,00400000,00000be4,00000000,006433dc,00000104,0032f318) ret=0041ec74 0009:Ret KERNEL32.FormatMessageW() retval=00000000 ret=0041ec74 0009:Call KERNEL32.GetLastError() ret=0041ec84 0009:Ret KERNEL32.GetLastError() retval=00000717 ret=0041ec84 (...)
Commenting out SetLastError in FormatMessageW helps go further, but then it will complain about it cannot download setup.
http://bugs.winehq.org/show_bug.cgi?id=19352
Ken Sharp kennybobs@o2.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, Installer
http://bugs.winehq.org/show_bug.cgi?id=19352
Jaime Rave jaimerave@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jaimerave@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=19352
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |xerox_xerox2000@yahoo.co.uk Ever Confirmed|0 |1
--- Comment #1 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2009-10-24 14:13:14 --- )
Commenting out SetLastError in FormatMessageW helps go further, but then it will complain about it cannot download setup.
Confirming. Instead of commenting out the SetLastError, the installer proceeds as well if you set lasterror to ERROR_RESOURCE_TYPE_NOT_FOUND.
The ERROR_RESOURCE_LANG_NOT_FOUND in current code looks obviously quite wrong to me, as the code above this line doesn't handle anything languagespecific things. This of course needs testcase
After this bug, there's a bug in winhttp, using native winhhtp it then crashes
diff --git a/dlls/kernel32/format_msg.c b/dlls/kernel32/format_msg.c index e8f9fbc..95a6df2 100644 --- a/dlls/kernel32/format_msg.c +++ b/dlls/kernel32/format_msg.c @@ -408,7 +408,7 @@ DWORD WINAPI FormatMessageW(
if (!from) { - SetLastError (ERROR_RESOURCE_LANG_NOT_FOUND); + SetLastError (ERROR_RESOURCE_TYPE_NOT_FOUND); return 0; } }
http://bugs.winehq.org/show_bug.cgi?id=19352
--- Comment #2 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2009-10-24 14:57:42 --- Created an attachment (id=24326) --> (http://bugs.winehq.org/attachment.cgi?id=24326) testcase
A little test (attached) shows windows sets last error to ERROR_MR_MID_NOT_FOUND
That fixes the bug as well. So obvious the last error in wine's code is wrong
http://bugs.winehq.org/show_bug.cgi?id=19352
--- Comment #3 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2009-10-24 16:19:12 --- Created an attachment (id=24328) --> (http://bugs.winehq.org/attachment.cgi?id=24328) fix + test
Something like this should do i guess. This fixes the bug + adds little test
http://bugs.winehq.org/show_bug.cgi?id=19352
--- Comment #4 from Hans Leidekker hans@meelstraat.net 2009-10-24 17:06:24 --- Created an attachment (id=24329) --> (http://bugs.winehq.org/attachment.cgi?id=24329) winhttp: Implement WINHTTP_OPTION_PARENT_HANDLE.
Here's a fix for the winhttp bug.
http://bugs.winehq.org/show_bug.cgi?id=19352
--- Comment #5 from Jaime Rave jaimerave@gmail.com 2009-10-26 12:10:55 --- Thanks a lot for your work.
Hans' patch is in Git now. Louis, can you send your patch to wine-patches??
http://bugs.winehq.org/show_bug.cgi?id=19352
--- Comment #6 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2009-10-26 19:34:44 --- Created an attachment (id=24383) --> (http://bugs.winehq.org/attachment.cgi?id=24383) fix
Hans' patch is in Git now. Louis, can you send your patch to wine-patches??
I've sent tests to wine-patches. When tests get committed i'll send attached fix
http://bugs.winehq.org/show_bug.cgi?id=19352
--- Comment #7 from Jaime Rave jaimerave@gmail.com 2009-10-29 11:35:19 --- Tests are in Git now.
http://bugs.winehq.org/show_bug.cgi?id=19352
--- Comment #8 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2009-10-29 12:12:03 --- For the info, I did a bit of more testing:
After this bug there's a bug because of unimplemented stuff in mshtml. Don't know how to fix that, so I used native mshtml and friends (wintricks ie6)
Then it crashes because of apparently bug in ole32. The hack below let's it proceed again a bit further.
Now stuck at the following:
Call from 0x7b8439d3 to unimplemented function crypt32.dll.CryptBinaryToStringW, aborting
I'll see if i can get any further later this week
diff --git a/dlls/ole32/ole2.c b/dlls/ole32/ole2.c index 3b87aac..5f9fd09 100644 --- a/dlls/ole32/ole2.c +++ b/dlls/ole32/ole2.c @@ -1141,7 +1141,7 @@ HRESULT WINAPI OleLockRunning(LPUNKNOWN pUnknown, BOOL fLock, BOOL fLastUnlockCl return hres; } else - return E_INVALIDARG; + return 0;//E_INVALIDARG; }
http://bugs.winehq.org/show_bug.cgi?id=19352
--- Comment #9 from Juan Lang juan_lang@yahoo.com 2009-10-29 17:14:59 --- Created an attachment (id=24432) --> (http://bugs.winehq.org/attachment.cgi?id=24432) Patch: Partially implement CryptBinaryToStringW
Does this help with the crypt32 crash?
http://bugs.winehq.org/show_bug.cgi?id=19352
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |juan_lang@yahoo.com
http://bugs.winehq.org/show_bug.cgi?id=19352
--- Comment #10 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2009-10-30 03:19:46 --- (In reply to comment #9)
Created an attachment (id=24432)
--> (http://bugs.winehq.org/attachment.cgi?id=24432) [details]
Patch: Partially implement CryptBinaryToStringW
Does this help with the crypt32 crash?
Yes it helps!
The installer now downloads all stuff, and says it is installing all that stuff, but in the end nothing seems to be installed, though the installer seems to exit cleanly. However, I don't think the fact that the programs are not installed is related the CryptBinaryToStringW thing. It seems to be yet another bug. thanks for the help
http://bugs.winehq.org/show_bug.cgi?id=19352
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hans@meelstraat.net
--- Comment #11 from Hans Leidekker hans@meelstraat.net 2009-11-04 06:37:20 --- Commit 808343fb5b5fd36fcd92c38def0ac1ca1010825f fixes the bug that kept files from being installed.
http://bugs.winehq.org/show_bug.cgi?id=19352
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|kernel32 |ole32
--- Comment #12 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2009-11-05 13:13:40 --- (In reply to comment #11)
Commit 808343fb5b5fd36fcd92c38def0ac1ca1010825f fixes the bug that kept files from being installed.
Yes, thanks for the fix Hans. Also Juan's crypt32 patch is in git now. Current status of this bug is there are three bugs left:
1. One in msxml3 (unimplemented stuff) 2. One in mshtml (unimplemented stuff) 3. One in ole32 (OleLockRunning)
I think the first two bugs are already covered by other reports, so i'll change component to ole32
http://bugs.winehq.org/show_bug.cgi?id=19352
--- Comment #13 from Juan Lang juan_lang@yahoo.com 2009-11-05 13:29:23 --- (In reply to comment #8)
Then it crashes because of apparently bug in ole32. The hack below let's it proceed again a bit further.
diff --git a/dlls/ole32/ole2.c b/dlls/ole32/ole2.c index 3b87aac..5f9fd09 100644 --- a/dlls/ole32/ole2.c +++ b/dlls/ole32/ole2.c @@ -1141,7 +1141,7 @@ HRESULT WINAPI OleLockRunning(LPUNKNOWN pUnknown, BOOL fLock, BOOL fLastUnlockCl return hres; } else
- return E_INVALIDARG;
- return 0;//E_INVALIDARG;
}
Actually, this might be correct. 0 is S_OK, and this branch happens when the IUnknown passed to OleLockRunning doesn't implement IRunnableObject. A quick test with an empty IUnknown would tell you what windows does in this case.
http://bugs.winehq.org/show_bug.cgi?id=19352
--- Comment #14 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2009-11-06 02:23:22 ---
Actually, this might be correct. 0 is S_OK, and this branch happens when the IUnknown passed to OleLockRunning doesn't implement IRunnableObject. A quick test with an empty IUnknown would tell you what windows does in this case.
Thanks for explanantion. If i was familiar with code in ole32 i would pick this up myself, but i am not. Juan, is there a chance you could add test +fix (as you said the test would be a quickie...)?
http://bugs.winehq.org/show_bug.cgi?id=19352
--- Comment #15 from Hans Leidekker hans@meelstraat.net 2009-11-06 04:37:58 --- Created an attachment (id=24566) --> (http://bugs.winehq.org/attachment.cgi?id=24566) ole32: Return success from OleLockRunning when the object does not support IRunnableObject.
Here you go.
http://bugs.winehq.org/show_bug.cgi?id=19352
--- Comment #16 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2009-11-06 08:35:58 --- (In reply to comment #15)
Created an attachment (id=24566)
--> (http://bugs.winehq.org/attachment.cgi?id=24566) [details]
ole32: Return success from OleLockRunning when the object does not support IRunnableObject.
Here you go.
Ha marvellous! Thanks very much, if the patch gets into git, it's time to close tyhis bug
http://bugs.winehq.org/show_bug.cgi?id=19352
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #17 from Hans Leidekker hans@meelstraat.net 2009-11-11 08:53:18 --- Fixed by commit e265d534e4215855233b04cf701fd77c5e427e16.
http://bugs.winehq.org/show_bug.cgi?id=19352
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #18 from Alexandre Julliard julliard@winehq.org 2009-11-13 12:44:05 --- Closing bugs fixed in 1.1.33.