I am trying to install a patch in an existing bottle which contains an application. I am using CrossOver (21.2) and have tried both 32-bit XP and Windows 7 bottles. However, the patch fails installation with the following error:
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x7c3417fb).
Register dump:
CS:001b SS:0023 DS:0023 ES:0023 FS:1007 GS:000f
EIP:7c3417fb ESP:003154ac EBP:00316928 EFLAGS:00210246( R- -- I Z- -P- )
EAX:00000000 EBX:00316030 ECX:00000000 EDX:ffffffff
ESI:003160bc EDI:003160bc
Stack dump:
0x003154ac: 7c3a5679 00000000 00000000 0040baf5
0x003154bc: 00000000 00315ff8 00000001 00000009
0x003154cc: 00000000 00000000 00000000 00000000
0x003154dc: 00411a5b 003160bc 0031d2c8 00bb8798
0x003154ec: 0031d2d8 00bec43c 00315510 7c3a5600
0x003154fc: 00bf06c0 7c3a5665 00000033 00000000
0200: sel=1007 base=7ffc2000 limit=00000fff 32-bit rw-
Backtrace:
=>0 0x7c3417fb EntryPoint+0xffffffff() in msvcr71 (0x00316928) <--- I am focusing on this
1 0x001acc2c (0x001acc28)
2 0x6a4ba6c8 EntryPoint+0xd1b7() in ole32 (0x6a4bc380)
3 0x6a445240 EntryPoint+0xffffffff() in ole32 (0x6a44c900)
0x7c3417fb EntryPoint+0xffffffff in msvcr71: movl 0x0(%ecx),%eax
At first I thought this was happening because the patch executable could not run as Admin until I researched it and found out that wine runs all applications as Admin. Next, I tried to override the library msvcr71.dll and msvcp71.dll. These are both in the c:\windows\system32 directory of the bottle.
I did as follows:
- Open shell via Bottle->Open Shell
- Copy the exe containing the patch to c:\ of the bottle where the patch will be installed
- run the following commands in the shell of the bottle that needs to be patched:
Note: wine is being called from c:\ of the bottle so ./patch.exe is c:\patch.exe
export WINEPATH="c:\windows\system32"
WINEDLLOVERRIDES="msvcr71,msvcp71=n,b" wine ./patch.exe
Any help is appreciated.