http://bugs.winehq.org/show_bug.cgi?id=11759
--- Comment #10 from Anastasius Focht focht@gmx.net 2008-07-31 15:04:19 --- Hello,
--- quote --- Setting my Windows version to Windows XP using winecfg and running 'sh winetricks gdiplus' doesn't get it to run, with or without the patches, so I'm unable to confirm that it actually fixes the installer. Anyone else care to have a go? --- quote ---
I wonder how you tested ... After applying your patches and obligatory
$ git add dlls/msisip/Makefile.in $ ./tools/make_makefiles
I had to modify .spec file for MsiSIPGetSignedDataMsg() stub, adding real signature to not run into unimplemented call.
MsiSIPGetSignedDataMsg() doesn't fill encoding type out parameter, hence follow up errors. You need to add more error checking. CryptMsgOpenToDecode correctly fails due to invalid parameters but SOFTPUB_GetMessageFromFile() returns TRUE which should not happen.
--- snip --- .. 001d:Call msisip.MsiSIPGetSignedDataMsg(001526b8,00153290,00000000,7ed54518,0015b9e0) ret=607a7d6a 001d:Call ole32.StgOpenStorage(005676a0 L"Z:\home\focht\work\silverlight\Silverlight.msi",00000000,00000020,00000000,00000000,7ed543b4) ret=60d9b9a4 001d:Call KERNEL32.CreateFileW(005676a0 L"Z:\home\focht\work\silverlight\Silverlight.msi",80000000,00000001,00000000,00000003,10000080,00000000) ret=605b388e 001d:Ret KERNEL32.CreateFileW() retval=00000090 ret=605b388e 001d:Call KERNEL32.GetFileSize(00000090,00000000) ret=605b38b6 001d:Ret KERNEL32.GetFileSize() retval=0000d800 ret=605b38b6 .. 001d:Call KERNEL32.CreateFileMappingA(00000090,00000000,00000002,00000000,00000000,00000000) ret=605a5608 001d:Ret KERNEL32.CreateFileMappingA() retval=00000098 ret=605a5608 .. 001d:Call KERNEL32.MapViewOfFile(00000098,00000004,00000000,00000000,0000d800) ret=605a4729 001d:Ret KERNEL32.MapViewOfFile() retval=003e0000 ret=605a4729 .. 001d:Call KERNEL32.GetFullPathNameW(005676a0 L"Z:\home\focht\work\silverlight\Silverlight.msi",00000104,7ed540b4,00000000) ret=605b3a01 001d:Ret KERNEL32.GetFullPathNameW() retval=0000002e ret=605b3a01 001d:Ret ole32.StgOpenStorage() retval=00000000 ret=60d9b9a4 .. 001d:Call KERNEL32.lstrcmpiW(7ed542c8 L"\0005DigitalSignature",60d9c300 L"\0005DigitalSignature") ret=605aef79 001d:Ret KERNEL32.lstrcmpiW() retval=00000000 ret=605aef79 .. 001d:Call KERNEL32.UnmapViewOfFile(003e0000) ret=605a49ec 001d:Ret KERNEL32.UnmapViewOfFile() retval=00000001 ret=605a49ec .. 001d:Ret msisip.MsiSIPGetSignedDataMsg() retval=00000001 ret=607a7d6a 001d:trace:crypt:CryptSIPGetSignedDataMsg returning 1 001d:Call crypt32.CryptMsgOpenToDecode(00000000,00000000,00000000,00000000,00000000,00000000) ret=607e9c9b 001d:trace:crypt:CryptMsgOpenToDecode (00000000, 00000000, 00000000, 00000000, (nil), (nil)) 001d:Ret crypt32.CryptMsgOpenToDecode() retval=00000000 ret=607e9c9b 001d:Call ntdll.RtlFreeHeap(00110000,00000000,0015b9e0) ret=607ea236 001d:Ret ntdll.RtlFreeHeap() retval=00000001 ret=607ea236 001d:trace:wintrust:SOFTPUB_GetMessageFromFile returning 1 001d:Call crypt32.CertOpenStore(00000001,00000000,00000000,00000001,00000000) ret=607e9b73 001d:trace:crypt:CertOpenStore (#0001, 00000000, 00000000, 00000001, (nil)) 001d:trace:crypt:CRYPT_MsgOpenStore (0, 00000001, (nil)) 001d:trace:crypt:CertOpenStore (#0002, 00000000, 00000000, 00002000, (nil)) 001d:trace:crypt:CRYPT_MemOpenStore (0, 00002000, (nil)) .. 001d:trace:crypt:CryptMsgGetParam ((nil), 11, 0, 0x7ed543b4, 0x7ed543b8) <crashes later> --- snip ---
Regards