Getting GRE Powerprep to work under Wine

From WhyNotWiki

Jump to: navigation, search

Contents

[edit] wine-0.9.45

The installer worked perfectly. However, running the app itself, I ran into many obstacles.

[edit] { ModeSwap Windows App...: "Could not switch display mode!"

When I tried to run it I got this error in a little popup window.

Following this suggestion...

http://www.urch.com/forums/gmat/40093-powerprep-not-working-gives-modeswap-error.html. Retrieved on 2007-05-11 11:18.

Bronco...search for the file 'modeswap.exe' on your system and rename it to something else like 'modewapXX.exe' and then try running PP. Looks like some kind of a display driver issue...

... I did this:

~/.wine/drive_c/Program Files$ mv 'GRE Powerprep/PPGRE/PPREP/modeswap.exe' 'GRE Powerprep/PPGRE/PPREP/modeswap.xexe'

[edit] }

[edit] { Missing DLLs

~/.wine/drive_c/Program Files/GRE Powerprep/PPGRE/PPREP$ wine PPREP.EXE 
Could not load 'MFC250.DLL' required by 'PPGRE', error=2

I followed the suggestion found here: http://www.winehq.org/pipermail/wine-users/2006-May/021834.html. Retrieved on 2007-05-11 11:18.

> I have such a problem: Could not load 'MFC250.DLL' required by 'PPGRE', 
> error=2
> 
> but there is the file MFC250.DLL in drive_c/windows/system
> 
> Does anybody have any suggestions ??

Copy the file to the directory the .exe is in. Run the .exe from within this directory.

$ cp /home/tyler/.wine/drive_c/windows/system/MFC250.DLL '/home/tyler/.wine/drive_c/Program Files/GRE Powerprep/PPGRE/'
~/.wine/drive_c/Program Files/GRE Powerprep/PPGRE/PPGRE$ wine PPGRE.EXE 
Could not load 'PPOSA.DLL' required by 'PPGRE', error=2
~/.wine/drive_c/Program Files/GRE Powerprep/PPGRE/PPGRE$ cp ../PPREP/*.DLL ./

[edit] }

Now I could start up the program okay. But when I tried to start a practice test or even practice questions, it complained about not being able to find or start TDA or something.

[edit] { Can't find TDA

~/.wine/drive_c/Program Files$ ffind TDA
./GRE Powerprep/PPGRE/PPGRE/TDAREF.DLL
./GRE Powerprep/PPGRE/PPGRE/TDAHELP.DLL
./GRE Powerprep/PPGRE/PPGRE/TDAIQ.DLL
./GRE Powerprep/PPGRE/PPGRE/TDABKOBJ.DLL
./GRE Powerprep/PPGRE/PPREP/TDACAT.EXE
./GRE Powerprep/PPGRE/PPREP/TDAREF.DLL
./GRE Powerprep/PPGRE/PPREP/TDAHELP.DLL
./GRE Powerprep/PPGRE/PPREP/TDA.EXE
./GRE Powerprep/PPGRE/PPREP/TDAIQ.DLL
./GRE Powerprep/PPGRE/PPREP/TDABKOBJ.DLL

~/.wine/drive_c/Program Files/GRE Powerprep/PPGRE/PPGRE$ cp ../PPREP/TDA.EXE ./

[edit] }

Now what I try the same thing, I get one of these behaviors (it alternates randomly each time I restart the program):

  1. When I try to start a practice question, it flashes a "Please wait" message on a gray box briefly, and the main Powerprep window flashes, but then it returns me to the menu I was just at, as if I had not just told it to give me a practice question.
  2. When I try to start a practice question, it shows a "Please wait" message and hangs there. (I had to kill the process: winevdm.exe --app-name C:\Program Files\GRE Powerprep\PPGRE\PPREP\PPREP.EXE)

http://www.winehq.org/pipermail/wine-users/2005-May/018119.html. Retrieved on 2007-05-11 11:18.

it will pop up a window giving you various choices you can select from to study for the GRE -- choose "practice tests" and then either "practice test 1" or "practice test 2." At this point it will try to run a new executable (TDA.exe, I think), and that is when the error handler message comes up and it crashes.

Looks like they never found the solution either.

Tried this:

~/.wine/drive_c/Program Files/GRE Powerprep/PPGRE/PPGRE$ cp ../PPREP/TDA* ./

Same result.

Curious what it actually was and whether I could use it independently from Powerprep, I tried this...

$ ./TDA.EXE

It showed a popup that said: "Fatal" "No Command Line".

I wasn't sure if this would work (having a Windows app launch a shell script), but I decided to try this to see if I could see just what arguments were being passed to tda.exe:

I temporarily renamed TDA.EXE and created this script as the new TDA.EXE:

#!/bin/bash
echo $@ >> evidence

A test:

$ ./TDA.EXE arg1 /arg2 -arg3 ; cat evidence ; rm evidence 
arg1 /arg2 -arg3

Now, the real thing... I started up the program again and clicked on "practice questions" from the menu. It showed "Please wait" for a second and then the message disappeared and I was still at the menu.

Here's what the arguments to TDA.EXE were, apparently:

$ cat evidence 
C:\PROG~FBU\GRE_~OXT\PPGRE\PPGRE\EPR\cbtparam -pp < C:\PROG~FBU\GRE_~OXT\PPGRE\PPGRE\EPR\00000000.ERR

I would have guessed that cbtparam is a Win32 program, but apparently not (?)...

$ file PPGRE.EXE EPR/cbtparam
PPGRE.EXE:    MS-DOS executable, NE for MS Windows 3.x
EPR/cbtparam: data

EPR\00000000.ERR is this:

Mon  1-28-08 at 21:23:43 Fatal... OSADRM errCode 9: Failed to invoke OsaDrm.Exe:LPVNXX01:C:\PROG~FBU\GRE_~OXT\PPGRE\PPGRE\EPR\:::InitDrm:
Mon  1-28-08 at 21:23:48 Fatal... Problem registering - review class.Review Subsystem
...

Whoa! DRM?? On a program that they send to you free to everyone who registers for the GRE!?

$ cp ../PPREP/OSADRM.EXE ./

Still no luck.

$ rm evidence 
$ rm EPR/00000000.ERR 
$ wine PPGRE.EXE 
...
$ cat evidence 
C:\PROG~FBU\GRE_~OXT\PPGRE\PPGRE\EPR\cbtparam -pp < C:\PROG~FBU\GRE_~OXT\PPGRE\PPGRE\EPR\00000000.ERR

But now EPR\00000000.ERR wasn't even there! That, and the dates mentioned in EPR\00000000.ERR remained the same (and an hour old) after each attempt, seemed to indicate that it wasn't even trying any more, that it was just showing an old error message.

So I deleted the directory and re-installed the software. (Used the default target path this time.)

It shall be noted that the EPR directory is empty after doing a fresh install...

~/.wine/drive_c/Program Files/ETS/PPGRE/PPGRE$ ls EPR
~/.wine/drive_c/Program Files/ETS/PPGRE/PPGRE$ ruby -e 'Dir.new("../PPREP/").each {|a| unless Dir.new(".").include?(a); `cp ../PPREP/#{a} ./`; end }'

With my fake TDA.EXE...

As soon as I requested the Verbal Practice Questions, it invoked TDM.EXE C:\PROG~FBU\ETS\PPGRE\PPGRE\EPR\cbtparam -pp H C:\PROG~FBU\ETS\PPGRE\PPGRE\EPR\00000000.ERR and created EPR/cbtparam . It did not, however, create EPR\00000000.ERR. I wonder when that is supposed to get created?

:~/.wine/drive_c/Program Files/ETS/PPGRE/PPGRE$ ./OSADRM.EXE 
Could not load 'MFCOLEUI.DLL' required by 'OSADRM', error=2

tyler@tyler-desktop:~/.wine/drive_c/Program Files/ETS/PPGRE/PPGRE$ cp ~/.wine/drive_c/windows/system/MFCOLEUI.DLL ./

tyler@tyler-desktop:~/.wine/drive_c/Program Files/ETS/PPGRE/PPGRE$ ./OSADRM.EXE 
fixme:ole:CoRegisterMessageFilter16 (0x40e9bc,(nil)),stub!

With the real TDA.EXE...

It shows "Please wait..." but then hangs. On the console, I saw:

~/.wine/drive_c/Program Files/ETS/PPGRE/PPGRE$ wine PPGRE.EXE 
fixme:user:EnableHardwareInput16 (0) - stub
fixme:user:EnableHardwareInput16 (1) - stub
wine: Unhandled page fault on read access to 0x00000002 at address 0x7b86a8c2 (thread 001b), starting debugger...
Unhandled exception: page fault on read access to 0x00000002 in 32-bit code (0x7b86a8c2).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:7b86a8c2 ESP:7a5164e0 EBP:7a516638 EFLAGS:00010256(   - 00      RIZAP1)
 EAX:00000000 EBX:7b8b0888 ECX:00000000 EDX:00000020
 ESI:f7f4dd40 EDI:00ab2810
Stack dump:
0x7a5164e0:  00001537 0000002e 007e9459 00000020
0x7a5164f0:  7a516520 00000000 00000000 00000000
0x7a516500:  00000006 007fae8e 007eb630 00000000
0x7a516510:  06131550 7a516524 0035306c 7bc8443c
0x7a516520:  00131540 4461734f 45006d72 7b006578
0x7a516530:  00110000 7bc8443c 7a516578 7bc40947
Backtrace:
=>1 0x7b86a8c2 LoadModule16+0x302(name=<is not available>, paramBlock=0x7fae8e) [/build/buildd/wine-0.9.46/dlls/kernel32/ne_module.c:1158] in kernel32 (0x7a516638)
  2 0x7b82f941 in kernel32 (+0xf941) (0x7a516658)
  3 0x7b8a064a __wine_call_from_16+0x76() in kernel32 (0x7a516688)
  4 0x160f:0x08fb (0x17cf:0xae98)
  5 0x1597:0x0511 (0x17cf:0xaeac)
  6 0x1657:0x02a7 (0x17cf:0xaec0)
  7 0x1687:0x1536 (0x17cf:0xb818)
  8 0x16ff:0x2e6b (0x17cf:0xb82a)
  9 0x16ff:0x00c8 (0x17cf:0x0000)
0x7b86a8c2 LoadModule16+0x302 [/build/buildd/wine-0.9.46/dlls/kernel32/ne_module.c:1158] in kernel32: movzwl    0x2(%eax,%ecx,1),%eax
Unable to open file '/build/buildd/wine-0.9.46/dlls/kernel32/ne_module.c'
Modules:
Module  Address                 Debug info      Name (72 modules)
ELF     7a518000-7a52b000       Deferred        libresolv.so.2
ELF     7a52b000-7a584000       Deferred        rpcrt4<elf>
  \-PE  7a540000-7a584000       \               rpcrt4
ELF     7a584000-7a625000       Deferred        ole32<elf>
  \-PE  7a590000-7a625000       \               ole32
ELF     7a6af000-7a6e3000       Deferred        winspool<elf>
  \-PE  7a6c0000-7a6e3000       \               winspool
ELF     7a6e3000-7a7a1000       Deferred        comctl32<elf>
  \-PE  7a6f0000-7a7a1000       \               comctl32
ELF     7a7a1000-7a7fa000       Deferred        shlwapi<elf>
  \-PE  7a7b0000-7a7fa000       \               shlwapi
ELF     7a7fa000-7a8fd000       Deferred        shell32<elf>
  \-PE  7a810000-7a8fd000       \               shell32
ELF     7b800000-7b929000       Dwarf           kernel32<elf>
  \-PE  7b820000-7b929000       \               kernel32
ELF     7b94e000-7b9ef000       Deferred        comdlg32<elf>
  \-PE  7b960000-7b9ef000       \               comdlg32
ELF     7bc00000-7bca0000       Deferred        ntdll<elf>
  \-PE  7bc10000-7bca0000       \               ntdll
ELF     7bca0000-7bcbe000       Deferred        iphlpapi<elf>
  \-PE  7bcb0000-7bcbe000       \               iphlpapi
ELF     7bf00000-7bf03000       Deferred        <wine-loader>
ELF     7bf04000-7bf36000       Deferred        uxtheme<elf>
  \-PE  7bf10000-7bf36000       \               uxtheme
ELF     7bf36000-7bf4b000       Deferred        midimap<elf>
  \-PE  7bf40000-7bf4b000       \               midimap
ELF     7bf4b000-7bf72000       Deferred        msacm32<elf>
  \-PE  7bf50000-7bf72000       \               msacm32
ELF     7bf72000-7c000000       Deferred        winmm<elf>
  \-PE  7bf80000-7c000000       \               winmm
ELF     7d376000-7d3b0000       Deferred        wineoss<elf>
  \-PE  7d380000-7d3b0000       \               wineoss
ELF     7d3b0000-7d410000       Deferred        winedos<elf>
  \-PE  7d3c0000-7d410000       \               winedos
ELF     7d410000-7d415000       Deferred        libxfixes.so.3
ELF     7d415000-7d41e000       Deferred        libxcursor.so.1
ELF     7d41e000-7d43b000       Deferred        imm32<elf>
  \-PE  7d430000-7d43b000       \               imm32
ELF     7d43b000-7d441000       Deferred        libxrandr.so.2
ELF     7d441000-7d449000       Deferred        libxrender.so.1
ELF     7d449000-7d44c000       Deferred        libxinerama.so.1
ELF     7df21000-7e8b9000       Deferred        libglcore.so.1
ELF     7e8b9000-7e94f000       Deferred        libgl.so.1
ELF     7e94f000-7e954000       Deferred        libxdmcp.so.6
ELF     7e954000-7ea45000       Deferred        libx11.so.6
ELF     7ea45000-7ea53000       Deferred        libxext.so.6
ELF     7ea69000-7eaf8000       Deferred        winex11<elf>
  \-PE  7ea80000-7eaf8000       \               winex11
ELF     7eb7d000-7eb9d000       Deferred        libexpat.so.1
ELF     7eb9d000-7ebc8000       Deferred        libfontconfig.so.1
ELF     7ebc8000-7ebdd000       Deferred        libz.so.1
ELF     7ebdd000-7ec4d000       Deferred        libfreetype.so.6
ELF     7ec4d000-7ec96000       Deferred        advapi32<elf>
  \-PE  7ec60000-7ec96000       \               advapi32
ELF     7ec96000-7ed31000       Deferred        gdi32<elf>
  \-PE  7ecb0000-7ed31000       \               gdi32
ELF     7ed31000-7ee6f000       Deferred        user32<elf>
  \-PE  7ed50000-7ee6f000       \               user32
ELF     7ee6f000-7ee87000       Deferred        libnsl.so.1
ELF     7ee87000-7ee90000       Deferred        libnss_compat.so.2
ELF     7efc5000-7efea000       Deferred        libm.so.6
ELF     7efeb000-7f000000       Deferred        winevdm<elf>
  \-PE  7eff0000-7f000000       \               winevdm
ELF     f7cc0000-f7cc3000       Deferred        libxau.so.6
ELF     f7cc3000-f7cce000       Deferred        libnss_files.so.2
ELF     f7ccf000-f7cd3000       Deferred        libdl.so.2
ELF     f7cd3000-f7e1d000       Deferred        libc.so.6
ELF     f7e1e000-f7e36000       Deferred        libpthread.so.0
ELF     f7e36000-f7e38000       Deferred        libnvidia-tls.so.1
ELF     f7e38000-f7e42000       Deferred        libnss_nis.so.2
ELF     f7e4c000-f7f60000       Deferred        libwine.so.1
ELF     f7f62000-f7f80000       Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
0000001e (D) c:\windows\system32\winevdm.exe
        0000001b    0 <==
        00000024    0
        00000022    0
0000000d 
        0000000e    0
0000000a 
        0000000c    0
        0000000b    0
err:ntdll:RtlpWaitForCriticalSection section 0x7b9274c0 "syslevel.c: Win16Mutex" wait timed out in thread 0024, blocked by 001b, retrying (60 sec)
cerr:syslevel:_LeaveSysLevel (0x7b9274c0, level 1): Invalid state: count 0 mutex (nil).

http://www.urch.com/forums/toefl/23067-toefl-powerprep-software.html. Retrieved on 2007-05-11 11:18.

I remember that two signs showed up. One said that there was a mistake in a program (TDA, Test Delivery Application ) and then I had two choices, either two close the running progress or to ignore it. No matter which choice I took another sign showed up. This one said that there was an error in the program and something like I had no application. [...]

I tried to start the second test as well, but this one doesn't work either. Its the same but with another program (OSADRM, OSADRM MFC Application). You can find this program in the PPREP file.

Here's the bug ticket: http://bugs.winehq.org/show_bug.cgi?id=3766

[edit] wine-0.9.54

Used regedit to change PATH (under HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment).

Here's what the path looks like now:

$ wine cmd
CMD Version 0.9.54

C:\Program Files\ETS\PPGRE\PPGRE>path
PATH=c:\windows\system32;c:\windows\system;c:\windows;c:\Prog~FBU\ETS\PPGRE\PPREP

But now when I do wine PPGRE.EXE, it just hangs there.

$ WINEDEBUG=+tid,+relay,+seh,warn+all wine PPGRE.EXE 2>backtrace

http://bugs.winehq.org/show_bug.cgi?id=3766


[edit] Other people who have had problems getting Powerprep to work under Wine

http://www.winehq.org/pipermail/wine-users/2004-July/014359.html

Personal tools