https://bugs.winehq.org/show_bug.cgi?id=37802
Bug ID: 37802 Summary: Unhandled exception when starting Theme Park World Product: Wine Version: 1.7.33 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: hededrk@gmail.com Distribution: ---
Created attachment 50348 --> https://bugs.winehq.org/attachment.cgi?id=50348 Crash report
I followed the instructions on the appdb page. Game doesn't launch, and either requests to insert CD, or crashes with unhandled exception.
https://bugs.winehq.org/show_bug.cgi?id=37802
--- Comment #1 from Hudd hededrk@gmail.com --- Created attachment 50349 --> https://bugs.winehq.org/attachment.cgi?id=50349 Crash log with Windows ME selected
https://bugs.winehq.org/show_bug.cgi?id=37802
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Hardware|x86-64 |x86 Distribution|--- |ArchLinux
--- Comment #2 from Ken Sharp imwellcushtymelike@gmail.com --- Have you tried setting the Windows mode to 3.1 or NT4.0?
Is there a download available?
https://bugs.winehq.org/show_bug.cgi?id=37802
--- Comment #3 from Ken Sharp imwellcushtymelike@gmail.com --- (In reply to Ken Sharp from comment #2)
Is there a download available?
I meant to say demo available for download...
https://bugs.winehq.org/show_bug.cgi?id=37802
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |obfuscation CC| |focht@gmx.net
--- Comment #4 from Anastasius Focht focht@gmx.net --- Hello folks,
there is nothing to "fix" here.
You need to run the game in 'Windows 2000' mode. SafeDisc 1.x protected games can't work with 'Windows XP' and higher by design.
Also don't use any Win9X mode, this won't work by design too.
Likely a dupe of bug 27503
Regards
https://bugs.winehq.org/show_bug.cgi?id=37802
--- Comment #5 from Hudd hededrk@gmail.com --- (In reply to Ken Sharp from comment #2)
Have you tried setting the Windows mode to 3.1 or NT4.0?
Is there a download available?
Yes, I just tried setting mode to NT3.51 and 4.0, doesn't work.
No, there is no download available that I know of, sorry.
https://bugs.winehq.org/show_bug.cgi?id=37802
--- Comment #6 from Hudd hededrk@gmail.com --- (In reply to Anastasius Focht from comment #4)
You need to run the game in 'Windows 2000' mode. SafeDisc 1.x protected games can't work with 'Windows XP' and higher by design.
I indeed ran it in the Win2k mode, not WinXP.
No matter what version I select in winecfg, it doesn't work:
err:winedevice:ServiceMain driver L"Secdrv" failed to load
https://bugs.winehq.org/show_bug.cgi?id=37802
--- Comment #7 from Hudd hededrk@gmail.com --- (In reply to Hudd from comment #6)
err:winedevice:ServiceMain driver L"Secdrv" failed to load
No, that is misleading. It is not related to this bug report, I created new prefix and forgot to copy decdrv.sys.
https://bugs.winehq.org/show_bug.cgi?id=37802
--- Comment #8 from Anastasius Focht focht@gmx.net --- Hello,
--- quote --- I created new prefix and forgot to copy decdrv.sys. --- quote ---
Then the bug report is automatically invalid. The driver is not supposed to be copied.
Install the game in a clean (new!) 32-bit WINEPREFIX, set to 'Windows 2000'. If you don't know how to do that, seek help in WineHQ user forums. Bugzilla is not meant for end user support.
Regards
https://bugs.winehq.org/show_bug.cgi?id=37802
--- Comment #9 from Hudd hededrk@gmail.com --- (In reply to Anastasius Focht from comment #8)
The driver is not supposed to be copied.
Then why every report on appdb explicitly tells to copy it?
Install the game in a clean (new!) 32-bit WINEPREFIX, set to 'Windows 2000'. If you don't know how to do that, seek help in WineHQ user forums. Bugzilla is not meant for end user support.
I am pretty sure that I've done everything correctly. I installed on a brand new wineprefix, and made sure that 'Windows version' is set to 'Windows 2000'.
No matter if I do or do not secdrv.sys, game crashes.
I am not asking for help, rather interested in seeing game launch on wine.
https://bugs.winehq.org/show_bug.cgi?id=37802
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |Installer Status|UNCONFIRMED |NEW Summary|Unhandled exception when |Theme Park World crashes on |starting Theme Park World |startup (broken pre-Win2K | |era CD-installer fails to | |install/copy SafeDisc v1.x | |driver to | |'system32\drivers') Ever confirmed|0 |1
--- Comment #10 from Anastasius Focht focht@gmx.net --- Hello folks,
I found a distributed "backup" on the Internet still being seeded which contains the original .ISO image (thanks to whom it may concern) :)
A copy protection scan using 'Protection ID' tool reveals what I already said:
--- snip --- -=[ ProtectionID v0.6.5.5 OCTOBER]=- (c) 2003-2013 CDKiLLER & TippeX Build 31/10/13-21:09:09 Ready...
Scanning -> C:\Program Files\Bullfrog\Theme Park World\dplayerx.dll File Type : 32-Bit Dll (Subsystem : Win GUI / 2), Size : 173568 (02A600h) Byte(s) [File Heuristics] -> Flag : 00000000000001001100000000000001 (0x0004C001) [Entrypoint Section Entropy] : 6.51 [!] Safedisc core dll (dplayerx.dll) detected! [CompilerDetect] -> Visual C++ 5.0 - Scan Took : 0.261 Second(s) [000000105h tick(s)] [229 scan(s) done]
Scanning -> C:\Program Files\Bullfrog\Theme Park World\drvmgt.dll File Type : 32-Bit Dll (Subsystem : Win GUI / 2), Size : 31744 (07C00h) Byte(s) [File Heuristics] -> Flag : 00000000000001001100000000000000 (0x0004C000) [Entrypoint Section Entropy] : 6.35 [!] Safedisc driver managment dll (drvmgt.dll) detected! [CompilerDetect] -> Visual C++ 5.0 - Scan Took : 0.258 Second(s) [000000102h tick(s)] [229 scan(s) done]
Scanning -> C:\Program Files\Bullfrog\Theme Park World\secdrv.sys File Type : 32-Bit Driver (good checksum) (Subsystem : Native / 1), Size : 10848 (02A60h) Byte(s) -> File has 2368 (0940h) bytes of appended data starting at offset 02120h [File Heuristics] -> Flag : 00000100000000000000000000000111 (0x04000007) [Entrypoint Section Entropy] : 5.26 [Debug Info] Characteristics : 0x0 | TimeDateStamp : 0x37FB7638 | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 1 -> Coff | Size : 0x74B (1867) AddressOfRawData : 0x0 | PointerToRawData : 0x2120 [!] Safedisc protection driver (secdrv.sys) detected! - Scan Took : 0.262 Second(s) [000000106h tick(s)] [128 scan(s) done]
Scanning -> C:\Program Files\Bullfrog\Theme Park World\tp.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 253999 (03E02Fh) Byte(s) -> File has 6191 (0182Fh) bytes of appended data starting at offset 03C800h [File Heuristics] -> Flag : 00000000000001001100000000000101 (0x0004C005) [Entrypoint Section Entropy] : 6.57 [!] Safedisc v1.41.000 detected ! [CompilerDetect] -> Visual C++ 5.0 - Scan Took : 0.296 Second(s) [000000128h tick(s)] [533 scan(s) done] --- snip ---
-> Safedisc v1.41.000 = needs 'Windows 2000' (bug 27503)
The driver file is indeed missing from 'C:\windows\system32\drivers\\SECDRV.SYS' after installation.
I've traced the installer and it turns out this is one of the old IS installers that is broken by design on newer Windows version (also Wine being affected).
Already analysed here: bug 33000
--- snip --- ... 0029:Call advapi32.CreateServiceA(0155e720,003e6038 "Secdrv",003e6038 "Secdrv",000f01ff,00000001,00000003,00000001,0033f688 "C:\windows\system32\drivers\\SECDRV.SYS",00000000,00000000,00000000,00000000,00000000) ret=003e1b35 ... 0029:Ret advapi32.CreateServiceA() retval=0156b430 ret=003e1b35 ... 0029:Call KERNEL32.GetSystemDirectoryA(0033f370,00000100) ret=003e17b8 0029:Ret KERNEL32.GetSystemDirectoryA() retval=00000013 ret=003e17b8 0029:Call KERNEL32.lstrlenA(0033f370 "C:\windows\system32") ret=003e17cf 0029:Ret KERNEL32.lstrlenA() retval=00000013 ret=003e17cf 0029:Call KERNEL32.lstrlenA(0033f370 "C:\windows\system32\drivers\") ret=003e17f0 0029:Ret KERNEL32.lstrlenA() retval=0000001c ret=003e17f0 0029:Call KERNEL32.GetFileAttributesA(0033f370 "C:\windows\system32\drivers\\SECDRV.SYS") ret=003e1fdc 0029:Ret KERNEL32.GetFileAttributesA() retval=ffffffff ret=003e1fdc ... 0029:Call KERNEL32.GetLastError() ret=003e3598 0029:Ret KERNEL32.GetLastError() retval=00000002 ret=003e3598 0029:Call KERNEL32.CopyFileA(0033f570 "C:\Program Files\Bullfrog\SECDRV.SYS",0033f370 "C:\windows\system32\drivers\\SECDRV.SYS",00000000) ret=003e187b 0029:Ret KERNEL32.CopyFileA() retval=00000000 ret=003e187b 0029:Call KERNEL32.GetLastError() ret=003e1885 0029:Ret KERNEL32.GetLastError() retval=00000002 ret=003e1885 0029:Call advapi32.CloseServiceHandle(0155e720) ret=003e1b77 ... --- snip ---
You have three options:
1) CD-installer workaround: in the 'Select Components' dialog, click 'browse' button and append two(!) backslashes to the default installation path. (https://bugs.winehq.org/show_bug.cgi?id=33000#c1)
2) copy the driver binary manually afterwards
3) remove the service entry for the driver from registry using following command:
--- snip --- $ wine reg delete "HKLM\System\CurrentControlSet\Services\Secdrv" --- snip ---
The registry key removal will cause the DRM to re-install the driver part on startup (create service + copy driver file). It has it's own installation routine which doesn't suffer from the broken InstallShield/CD-installer part:
--- snip --- 0009:Call advapi32.CreateServiceA(00130760,10006038 "Secdrv",10006038 "Secdrv",000f01ff,00000001,00000003,00000001,0033f8c0 "C:\windows\system32\drivers\\SECDRV.SYS",00000000,00000000,00000000,00000000,00000000) ret=10001b35 ... 0009:Call KERNEL32.GetFileAttributesA(0033f5a8 "C:\windows\system32\drivers\\SECDRV.SYS") ret=10001fdc ... 0009:Ret KERNEL32.GetFileAttributesA() retval=ffffffff ret=10001fdc ... 0009:Call KERNEL32.CopyFileA(0033f7a8 "C:\Program Files\Bullfrog\Theme Park World\SECDRV.SYS",0033f5a8 "C:\windows\system32\drivers\\SECDRV.SYS",00000000) ret=1000187b ... 0009:Ret KERNEL32.CopyFileA() retval=00000001 ret=1000187b --- snip ---
After that the kernel service runs.
Starting the game 'TP.EXE' yields:
--- snip --- $ WINEDEBUG=+tid,+msgbox wine ./tp.exe ... 0009:trace:msgbox:MSGBOX_OnInit L"Please insert the correct CD-ROM, select OK and restart application" --- snip ---
Which is of course correct since I don't have the original media. But it's a proof that the SafeDisc drive management code is already at work here.
I'd rather make this bug report a dupe of bug 33000 since it precedes bug 27503
Again: make sure you have 'Windows 2000' set (people still forget this, even if mentioned a hundred times).
Regards
https://bugs.winehq.org/show_bug.cgi?id=37802
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |DUPLICATE
--- Comment #11 from Gijs Vermeulen gijsvrm@gmail.com --- Based on Focht's analysis in Comment #10 I'm going to mark this a dupe of bug 33000.
*** This bug has been marked as a duplicate of bug 33000 ***
https://bugs.winehq.org/show_bug.cgi?id=37802
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #12 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Closing duplicate.