[Bug 29875] MS Works 9.0 can't install (infinite waiting for estimating time)
wine-bugs at winehq.org
wine-bugs at winehq.org
Fri Mar 21 18:16:38 CDT 2014
https://bugs.winehq.org/show_bug.cgi?id=29875
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |download
Status|UNCONFIRMED |RESOLVED
URL| |http://azcdn01.digitalriver
| |content.net/msoffice/pub/X1
| |4-02658/X14-02658.exe
CC| |focht at gmx.net
Resolution|--- |FIXED
Summary|MS Works 9 can't install |MS Works 9.0 can't install
|(infinite waiting for |(infinite waiting for
|estimating time) |estimating time)
--- Comment #7 from Anastasius Focht <focht at gmx.net> ---
Hello folks,
found the official download for 'Microsoft Works 9.0' here:
http://azcdn01.digitalrivercontent.net/msoffice/pub/X14-02658/X14-02658.exe
The installer works fine for me, resolving fixed.
@Austin:
--- snip ---
err:msi:ACTION_CallDllFunction Custom action
(L"C:\\users\\focht\\Temp\\msid20.tmp":L"SetXMLReserveDiskProperty") caused a
page fault: c0000005
--- snip ---
That's actually a stupid bug in the installer itself.
The custom action 'SetXMLReserveDiskProperty' reads msxml6.dll version resource
in order to check if an update is needed or not.
--- snip ---
$ WINEDEBUG=+tid,+seh,+relay,+msi,+ver wine X14-02658.exe >>log.txt 2>&1
...
0043:Call KERNEL32.LoadLibraryW(001c6aac
L"C:\\users\\focht\\Temp\\msib7e6.tmp") ret=7e53386f
0043:Ret KERNEL32.LoadLibraryW() retval=10000000 ret=7e53386f
...
0043:Call KERNEL32.GetProcAddress(10000000,00695dd0
"SetXMLReserveDiskProperty") ret=7e53390f
0043:Ret KERNEL32.GetProcAddress() retval=10016e60 ret=7e53390f
...
0043:Call version.GetFileVersionInfoSizeA(00760f18 "msxml6.dll",012ee838)
ret=10016cee
...
0043:Ret version.GetFileVersionInfoSizeA() retval=000006fc ret=10016cee
0043:Call ntdll.RtlAllocateHeap(00760000,00000000,000006fc) ret=10039864
0043:Ret ntdll.RtlAllocateHeap() retval=00764188 ret=10039864
0043:Call KERNEL32.GetProcAddress(7eae0000,1007d0a0 "GetFileVersionInfoA")
ret=10017353
0043:Ret KERNEL32.GetProcAddress() retval=7eae3ad4 ret=10017353
0043:Call version.GetFileVersionInfoA(00760f18
"msxml6.dll",00000000,000006fc,00764188) ret=10016d32
...
0043:Ret version.GetFileVersionInfoA() retval=00000001 ret=10016d32
0043:Call KERNEL32.GetProcAddress(7eae0000,1007d08e "VerQueryValueA")
ret=10017353
0043:Ret KERNEL32.GetProcAddress() retval=7eae3b94 ret=10017353
0043:Call version.VerQueryValueA(00764188,1006d0fc "\\",012ee840,012ee844)
ret=10016d50
0043:Call KERNEL32.MultiByteToWideChar(00000000,00000000,1006d0fc
"\\",ffffffff,00000000,00000000) ret=7eae6fe6
0043:Ret KERNEL32.MultiByteToWideChar() retval=00000002 ret=7eae6fe6
0043:Call ntdll.RtlAllocateHeap(00110000,00000000,00000004) ret=7eae7015
0043:Ret ntdll.RtlAllocateHeap() retval=00695dd0 ret=7eae7015
0043:Call KERNEL32.MultiByteToWideChar(00000000,00000000,1006d0fc
"\\",ffffffff,00695dd0,00000002) ret=7eae705c
0043:Ret KERNEL32.MultiByteToWideChar() retval=00000002 ret=7eae705c
0043:Call ntdll.RtlFreeHeap(00110000,00000000,00695dd0) ret=7eae70ae
0043:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7eae70ae
0043:Ret version.VerQueryValueA() retval=00000001 ret=10016d50
...
--- snip ---
Version needs to be >= 6.00.x.x which Wine matches.
After verification it logs the result using msi
Msi record with 4 fields gets created (to take the version number: aa.bb.cc.dd)
--- snip ---
0043:Call msi.MsiCreateRecord(00000004) ret=1000a753
...
0043:Ret msi.MsiCreateRecord() retval=00000003 ret=1000a753
--- snip ---
Setting the format string field of the record (implicit, not included in field
count for MsiCreateRecord):
--- snip ---
0043:Call msi.MsiRecordSetStringA(00000003,00000000,012edfc8 "<WORKS CA LOG>
xml is already installed. Ver.[1].[2].[3].[4]") ret=1000a7c0
0043:Call KERNEL32.MultiByteToWideChar(00000000,00000000,012edfc8 "<WORKS CA
LOG> xml is already installed. Ver.[1].[2].[3].[4]",ffffffff,00000000,00000000)
ret=7e5730f1
0043:Ret KERNEL32.MultiByteToWideChar() retval=0000003d ret=7e5730f1
0043:Call ntdll.RtlAllocateHeap(00110000,00000000,0000007a) ret=7e57306d
0043:Ret ntdll.RtlAllocateHeap() retval=0066c480 ret=7e57306d
0043:Call KERNEL32.MultiByteToWideChar(00000000,00000000,012edfc8 "<WORKS CA
LOG> xml is already installed. Ver.[1].[2].[3].[4]",ffffffff,0066c480,0000003d)
ret=7e57313e
0043:Ret KERNEL32.MultiByteToWideChar() retval=0000003d ret=7e57313e
0043:Call ntdll.RtlAllocateHeap(00110000,00000000,0000007a) ret=7e57306d
0043:Ret ntdll.RtlAllocateHeap() retval=00993580 ret=7e57306d
0043:Call ntdll.RtlFreeHeap(00110000,00000000,0066c480) ret=7e57309e
0043:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7e57309e
0043:Ret msi.MsiRecordSetStringA() retval=00000000 ret=1000a7c0
--- snip ---
Set the first field of the record (6 = major version of msxml6.dll):
--- snip ---
0043:Call msi.MsiRecordSetStringA(00000003,00000001,00000006) ret=1000a7d8
0043:Call
KERNEL32.MultiByteToWideChar(00000000,00000000,00000006,ffffffff,00000000,00000000)
ret=7e5730f1
0043:trace:seh:raise_exception code=c0000005 flags=0 addr=0xf73befc6
ip=f73befc6 tid=0043
0043:trace:seh:raise_exception info[0]=00000000
0043:trace:seh:raise_exception info[1]=00000006
0043:trace:seh:raise_exception eax=00000000 ebx=7b8ba000 ecx=00000006
edx=00000018 esi=012edf08 edi=00000006
0043:trace:seh:raise_exception ebp=012edea8 esp=012ede34 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00210283
0043:trace:seh:call_stack_handlers calling handler at 0x10063fc8 code=c0000005
flags=0
...
0043:err:msi:ACTION_CallDllFunction Custom action
(L"C:\\users\\focht\\Temp\\msib7e6.tmp":L"SetXMLReserveDiskProperty") caused a
page fault: c0000005
--- snip ---
Guess ... some genius forgot that VerQueryValueA() ought to return binary
values in this case, which causes the page fault in MsiRecordSetStringA().
The page fault is caught hence that mishap proves harmless in the end.
$ sha1sum X14-02658.exe
056fb46da532b0bac1a2504b5bfc527debde0535 X14-02658.exe
$ du -sh X14-02658.exe
248M X14-02658.exe
$ wine --version
wine-1.7.15
Regards
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list