"No Time To Explain" not working, winhttp?

"No Time To Explain" is a game btw

Auteur Réponses
Maskullking Mardi 15 Juillet 2014 à 9:17

I am trying to get steam game "No Time To Explain" to run but it will just immediately close.

In the debug log it says something about failling to load winhttp.dll even though I have this componet installed with the overide in place.

Can someone shed some light on this matter?

Debug output:

[07/15/14 19:06:11] - Running wine-1.7.22 NoTimeToExplain.exe (Working directory : /home/haftka/.PlayOnLinux/wineprefix/Steam_1.7.22_32bit/drive_c/Program Files/Steam/SteamApps/common/No Time to Explaerr:module:import_dll Loading library WINHTTP.dll (which is needed by L"C:\\Program Files\\Steam\\SteamApps\\common\\No Time to Explain\\NoTime\\NoTimeToExplain.exe") failed (error c000007b).
err:module:LdrInitializeThunk Main exe initialization for L"C:\\Program Files\\Steam\\SteamApps\\common\\No Time to Explain\\NoTime\\NoTimeToExplain.exe" failed, status c0000135

System details:

Linux Mint 17 64bit KDE (kernel 3.13.0-24-generic)
Wine 1.7.22

Intel i7 860, 8gb 1333hz ddr3 ram, Geforce GTX 660 2gb GDDR5

Maskullking Mardi 15 Juillet 2014 à 10:26

PS. When I set winhttp to Builtin or disabled I get an Unhandled Exception Error


Unhandled exception: page fault on read access to 0x036b03c0 in 32-bit code (0x009718d6).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:009718d6 ESP:0033fb5c EBP:034678dc EFLAGS:00210206(  R- --  I   - -P- )
EAX:036b006c EBX:7b810000 ECX:00000001 EDX:000000d5
ESI:7b810040 EDI:033d0000
Stack dump:
0x0033fb5c:  032d0050 00bf1501 0000005d 003300d5
0x0033fb6c:  000978dc 7b842730 0096e501 0023d000
0x0033fb7c:  0000042a 0033fbc8 00bf15c8 7b810000
0x0033fb8c:  00bf15d4 0097dd4e 0033fbf0 0097ddf4
0x0033fb9c:  0033fbc8 fffffffe 00000000 00000000
0x0033fbac:  00000000 00000000 032d0050 032d000c
=>0 0x009718d6 in notimetoexplain (+0x5718d6) (0x034678dc)
  1 0x006f0074 in notimetoexplain (+0x2f0073) (0x006e0065)
  2 0x55531175 (0x03ff8304)
0x009718d6: movl    0x0(%eax,%edx,4),%ebp
Module    Address            Debug info    Name (107 modules)
PE      400000- 1e54000    Export          notimetoexplain
PE    10000000-100c0000    Deferred        gameoverlayrenderer
PE    63000000-63072000    Deferred        wininet
ELF    7b800000-7ba4d000    Deferred        kernel32<elf>
  \-PE    7b810000-7ba4d000    \               kernel32
ELF    7bc00000-7bcd0000    Deferred        ntdll<elf>
  \-PE    7bc10000-7bcd0000    \               ntdll
ELF    7bf00000-7bf03000    Deferred        <wine-loader>
ELF    7d708000-7d70c000    Deferred
ELF    7d70c000-7d710000    Deferred
ELF    7d710000-7d75b000    Deferred
ELF    7d75b000-7d7cf000    Deferred
ELF    7d7cf000-7d7df000    Deferred
ELF    7d7df000-7d7eb000    Deferred
ELF    7d7eb000-7d7f0000    Deferred
ELF    7d7f0000-7d820000    Deferred
ELF    7d820000-7d8de000    Deferred
ELF    7d8de000-7d8f0000    Deferred
ELF    7d8f0000-7d988000    Deferred
ELF    7d988000-7d9cd000    Deferred
ELF    7d9cd000-7da3a000    Deferred
ELF    7da60000-7da93000    Deferred        uxtheme<elf>
  \-PE    7da70000-7da93000    \               uxtheme
ELF    7da93000-7da99000    Deferred
ELF    7da99000-7daa4000    Deferred
ELF    7daa4000-7dab5000    Deferred
ELF    7dab5000-7dab9000    Deferred
ELF    7dab9000-7dac4000    Deferred
ELF    7dac4000-7dacf000    Deferred
ELF    7dacf000-7dad5000    Deferred
ELF    7dad5000-7dad9000    Deferred
ELF    7dad9000-7dae0000    Deferred
ELF    7dae0000-7dae4000    Deferred
ELF    7dae4000-7db06000    Deferred
ELF    7db06000-7dc3a000    Deferred
ELF    7dc3a000-7dc4d000    Deferred
ELF    7dc50000-7dc5e000    Deferred
ELF    7dc5e000-7dc71000    Deferred        psapi<elf>
  \-PE    7dc60000-7dc71000    \               psapi
ELF    7dc73000-7dcfe000    Deferred        winex11<elf>
  \-PE    7dc80000-7dcfe000    \               winex11
ELF    7dd15000-7dd3e000    Deferred
ELF    7dd3e000-7dd79000    Deferred
ELF    7dd79000-7dda1000    Deferred
ELF    7dda1000-7ddb5000    Deferred
ELF    7ddb5000-7de55000    Deferred
ELF    7de7b000-7de9d000    Deferred        imm32<elf>
  \-PE    7de80000-7de9d000    \               imm32
ELF    7de9d000-7decf000    Deferred        ws2_32<elf>
  \-PE    7dea0000-7decf000    \               ws2_32
ELF    7decf000-7def7000    Deferred        msacm32<elf>
  \-PE    7ded0000-7def7000    \               msacm32
ELF    7def7000-7dfaa000    Deferred        winmm<elf>
  \-PE    7df00000-7dfaa000    \               winmm
ELF    7dfaa000-7dfe1000    Deferred        winhttp<elf>
  \-PE    7dfb0000-7dfe1000    \               winhttp
ELF    7dfe1000-7e074000    Deferred        urlmon<elf>
  \-PE    7dff0000-7e074000    \               urlmon
ELF    7e074000-7e18b000    Deferred        oleaut32<elf>
  \-PE    7e090000-7e18b000    \               oleaut32
ELF    7e18b000-7e205000    Deferred        rpcrt4<elf>
  \-PE    7e1a0000-7e205000    \               rpcrt4
ELF    7e205000-7e31d000    Deferred        ole32<elf>
  \-PE    7e220000-7e31d000    \               ole32
ELF    7e31d000-7e335000    Deferred
ELF    7e33f000-7e35b000    Deferred        jsproxy<elf>
  \-PE    7e340000-7e35b000    \               jsproxy
ELF    7e35b000-7e37f000    Deferred        iphlpapi<elf>
  \-PE    7e360000-7e37f000    \               iphlpapi
ELF    7e37f000-7e3e7000    Deferred        ddraw<elf>
  \-PE    7e390000-7e3e7000    \               ddraw
ELF    7e3e7000-7e4cc000    Deferred        opengl32<elf>
  \-PE    7e400000-7e4cc000    \               opengl32
ELF    7e4cc000-7e5fe000    Deferred        wined3d<elf>
  \-PE    7e4e0000-7e5fe000    \               wined3d
ELF    7e5fe000-7e635000    Deferred        d3d9<elf>
  \-PE    7e600000-7e635000    \               d3d9
ELF    7e635000-7e674000    Deferred        winspool<elf>
  \-PE    7e640000-7e674000    \               winspool
ELF    7e674000-7e6e4000    Deferred        shlwapi<elf>
  \-PE    7e680000-7e6e4000    \               shlwapi
ELF    7e6e4000-7e903000    Deferred        shell32<elf>
  \-PE    7e6f0000-7e903000    \               shell32
ELF    7e903000-7e9e9000    Deferred        comdlg32<elf>
  \-PE    7e910000-7e9e9000    \               comdlg32
ELF    7e9e9000-7eaf7000    Deferred        gdi32<elf>
  \-PE    7ea00000-7eaf7000    \               gdi32
ELF    7eaf7000-7ec3f000    Deferred        user32<elf>
  \-PE    7eb10000-7ec3f000    \               user32
ELF    7ec3f000-7ed38000    Deferred        comctl32<elf>
  \-PE    7ec50000-7ed38000    \               comctl32
ELF    7ed38000-7ed9f000    Deferred        advapi32<elf>
  \-PE    7ed50000-7ed9f000    \               advapi32
ELF    7ed9f000-7edac000    Deferred
ELF    7edac000-7edb8000    Deferred
ELF    7edb8000-7edd1000    Deferred
ELF    7edd1000-7edda000    Deferred
ELF    7ede7000-7ee00000    Deferred        version<elf>
  \-PE    7edf0000-7ee00000    \               version
ELF    f731a000-f7360000    Deferred
ELF    f7360000-f7365000    Deferred
ELF    f7365000-f7514000    Deferred
ELF    f7514000-f7530000    Deferred
ELF    f7537000-f7540000    Deferred
ELF    f7557000-f770b000    Dwarf 
ELF    f770d000-f772f000    Deferred
ELF    f772f000-f7730000    Deferred        [vdso].so
process  tid      prio (all id:s are in hex)
00000008 Steam.exe
    0000004c    0
    0000005c    0
    00000062    0
    0000004f    0
    00000035    0
    00000034    0
    00000032    0
    00000031    0
    0000002e    0
    00000038    0
    00000024    0
    00000036    0
    00000037    0
    0000002b    0
    0000002c    0
    0000000d    0
    0000000c    0
    00000047    0
    00000046    0
    00000045    0
    00000044    0
    00000043    0
    00000041    0
    00000040    0
    0000003f    0
    0000003e    0
    0000003d    0
    00000009    0
0000000e services.exe
    00000039    0
    00000023    0
    0000001c    0
    00000010    0
    0000000f    0
0000001a winedevice.exe
    00000022    0
    0000001f    0
    0000001e    0
    0000001b    0
00000020 plugplay.exe
    00000026    0
    00000025    0
    00000021    0
00000029 explorer.exe
    0000002d    0
    0000002a    0
0000005a (D) C:\Program Files\Steam\SteamApps\common\No Time to Explain\NoTime\NoTimeToExplain.exe
    00000051    0 <==
System information:
    Wine build: wine-1.7.22
    Platform: i386
    Host system: Linux
    Host version: 3.13.0-24-generic
Maskullking Mardi 15 Juillet 2014 à 11:05

After some digging I found through WineHQ I found out the cause of the initial problem, and that was a hooker library that linked the empty/dummy kernel32.dll and user32.dll files, and that removing them fixes the problem.

Done that and faced with another problem.... that has me stumped again....
Here's my debug output:


[07/15/14 21:00:01] - Running wine-1.7.22 NoTimeToExplain.exe (Working directory : /home/haftka/.PlayOnLinux/wineprefix/Steam_1.7.22_32bit/drive_c/Program Files/Steam/SteamApps/common/No Time to Explafixme:system:SetProcessDPIAware stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x32f358,0x00000000), stub!
err:ole:CoGetClassObject class {0e59f1d5-1fbe-11d0-8ff2-00a0d10038bc} not registered
err:ole:CoGetClassObject class {0e59f1d5-1fbe-11d0-8ff2-00a0d10038bc} not registered
err:ole:create_server class {0e59f1d5-1fbe-11d0-8ff2-00a0d10038bc} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {0e59f1d5-1fbe-11d0-8ff2-00a0d10038bc} could be created for context 0x17
fixme:console:AttachConsole stub ffffffff
fixme:console:GetConsoleCommandHistoryLengthW : (L"cmd.exe") stub!
[0715/] WSALookupServiceBegin failed with: 8
Maskullking Mardi 15 Juillet 2014 à 11:25

Upon researching I found that SetProcessDPIAware is a method in User32.dll

So I restored it from my backup(because only a fool deletes something without backing it up first) but it still pops the same error as above, which makes sense since it is supposedly an empty/dummy dll...

Maskullking Mardi 15 Juillet 2014 à 12:09

This game might never work... The more I dig the more problems I find out.

Quentin PÂRIS Mardi 15 Juillet 2014 à 12:29
Quentin PÂRIS

Have you tried to install the winehttp package?

Maskullking Mardi 15 Juillet 2014 à 12:43

I did, that's what I said in the intial post, but upon further investigation that wasn't the cause of the issue.

Apparently the way the developers coded the program to access core windows system dlls are in a way that can't be handled by wine counterparts. And since you can't use the windows dlls it makes this game unplayable via wine.

Took me a while, and alot of digging around WineHQ/Bug reports to figure this all out, but I got there on my own.

Just disregard this topic. It's a dead end/wild goose chase.

Maskullking Mardi 15 Juillet 2014 à 12:59

PS. Turns out there is a Linux/SteamOS port in the works for the game, so I guess this won't matter pretty soon.

Wasted a whole lot of time trying to get it working for nothing.... ahh well, I always enjoy debugging/problem solving... so it was fun.