[Bug 33037] Visual Studio 6 can't be installed with WinVer >= Win2K (missing HKEY_PERFORMANCE_DATA 230, process object)
wine-bugs at winehq.org
wine-bugs at winehq.org
Fri Aug 22 11:02:09 CDT 2014
https://bugs.winehq.org/show_bug.cgi?id=33037
--- Comment #14 from Anastasius Focht <focht at gmx.net> ---
Hello folks,
revisiting, still present.
--- snip ---
...
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code
(0x00411c09).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:00411c09 ESP:0033b498 EBP:00000000 EFLAGS:00010212( R- -- I -A- - )
EAX:224002eb EBX:ffffff31 ECX:0033bbcc EDX:7ec81764
ESI:00000000 EDI:0000004e
Stack dump:
0x0033b498: 0000004e 0033bbcc ffffff31 00411474
0x0033b4a8: 00426498 0004005e 00413747 00000001
0x0033b4b8: 0033c9d0 0033c3b8 7ec42000 00000001
0x0033b4c8: 0033b4d8 7bc39504 7eae75e8 7bcd1000
0x0033b4d8: 0033b538 7bc4de89 00110014 ffffffff
0x0033b4e8: 0033b4f8 7bc394e6 7eae75e8 00000001
000c: sel=0067 base=00000000 limit=00000000 16-bit --x
Backtrace:
=>0 0x00411c09 in setup (+0x11c09) (0x00000000)
0x00411c09: cmpb $0x0,0x0(%esi)
Modules:
Module Address Debug info Name (65 modules)
PE 400000- 48f000 Export setup
...
Threads:
process tid prio (all id:s are in hex)
...
00000034 (D) Z:\home\focht\iso\SETUP.exe
00000035 0 <==
...
--- snip ---
Adding my workaround from appdb entry also here (scripting 'winedbg' in gdb
proxy mode, patching the ISO installer at runtime).
Save the following snippet to a text file, for example 'vc6-installer-fix':
--- snip ---
set $x=0x410000
set $end=0x420000
while(*++$x != 0x07B0B18B && $x < $end)
end
if $x != $end
set *(int*) $x = 0x5BC0335E
set *(int*)($x+4) = 0x900004C2
end
cont
--- snip ---
Run the debugger as follows:
--- snip ---
$ winedbg --gdb setup.exe < vc6-installer-fix
--- snip ---
If the installer spawns a sub-installer that crashes due to this bug, you must
first run the main installer and then attach to sub-installer with debugger.
This can be done in automated way, assuming the main installer has already the
started sub-installer:
--- snip ---
$ winedbg --gdb $(( 16#$(winedbg --command "info proc" | grep
YOUR_SUB_INSTALLER_PROCESS_NAME | cut -f 2 -d " ") )) < vc6-installer-fix
--- snip ---
It tells 'winedbg' to query process ids, filters out the target process,
converts the PID to decimal and then starts winedbg in gdb proxy mode,
attaching to target process and executing patch script.
This should work for all VC6 installers and even 'Embedded Visual C++' 4.x
ones.
$ wine --version
wine-1.7.24-150-gcf4404c
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