[Bug 34440] NHL 2007 demo fails to install (modified DX runtime installer with broken check for DirectX 9.0c)

wine-bugs at winehq.org wine-bugs at winehq.org
Fri May 2 20:34:18 CDT 2014


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net
            Summary|NHL 2007 demo fails to      |NHL 2007 demo fails to
                   |install                     |install (modified DX
                   |                            |runtime installer with
                   |                            |broken check for DirectX
                   |                            |9.0c)

--- Comment #6 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

confirming.

Please stick to _one_ issue which is about the demo installer failure.

The demo ships a modified DX runtime installer which got stripped off some
parts, namely 'DXNT.CAB' file and friends which carry the actual runtime
payload.

This is intended because only the DX minimum version detection functionality
ought to be used.

>From 'c:\\windows\\DirectX.log':

--- snip ---
05/03/14 01:47:39: dsetup32: === SetupForDirectX() start ===
05/03/14 01:47:39: dsetup32: SetupForDirectX(): query dxsetup command: result =
2.
05/03/14 01:47:39: dsetup32: DXSetupCommand = 0.
05/03/14 01:47:39: dsetup32: DirectXSetupIsJapanese == 0
05/03/14 01:47:39: dsetup32: DirectXSetupIsJapanNec == 0
05/03/14 01:47:39: dsetup32: Installing on WinXP SP
05/03/14 01:47:39: dsetup32: BuildPaths(): temp directory
C:\windows\system32\DirectX is created.
05/03/14 01:47:39: dsetup32: Checking the version:
HKLM\software\microsoft\directx\Version
05/03/14 01:47:39: dsetup32: Version in registry = 4.09.00.0904
05/03/14 01:47:39: dsetup32: Version in DLL      = 4.09.00.0904
05/03/14 01:47:39: dsetup32: Installation Started with language eng
05/03/14 01:47:39: dsetup32: IterateDownloadedCabs(): Unable to find cab list.
05/03/14 01:47:39: dsetup32: Installation ended with value -2 = Source file not
found
--- snip ---

Trace log with inner installer:

--- snip ---
$ WINEDEBUG=+tid,+seh,+relay, wine ./AutoRun.exe -restart -dir
"Z:\\home\\focht\\Downloads" >>log.txt 2>&1
...
0023:Call advapi32.RegOpenKeyExA(80000002,00381418
"software\\microsoft\\directx",00000000,00000001,0033b8cc) ret=00384624
0023:Ret  advapi32.RegOpenKeyExA() retval=00000000 ret=00384624
0023:Call advapi32.RegQueryValueExA(0000007c,003813d4
"Version",00000000,00000000,0033b8d0,0033b8c8) ret=00384666
0023:Ret  advapi32.RegQueryValueExA() retval=00000000 ret=00384666
0023:Call KERNEL32.lstrcpynA(0033b7a8,0033b8d0 "4.09.00.0904",00000104)
ret=0038654e
0023:Ret  KERNEL32.lstrcpynA() retval=0033b7a8 ret=0038654e 
...
0023:trace:ole:apartment_getclassobject added new loaded dll
L"C:\\windows\\system32\\dxdiagn.dll"
0023:trace:ole:apartment_getclassobject calling DllGetClassObject 0x7d6a695c
0023:Call dxdiagn.DllGetClassObject(00449350,7e55f1ac,0033b788) ret=7e470cf0
0023:Ret  dxdiagn.DllGetClassObject() retval=00000000 ret=7e470cf0
...
0023:Ret  ole32.CoCreateInstance() retval=00000000 ret=0041c1f0 
...
0023:Call oleaut32.SysAllocString(7d6adce0 L"= \"DirectX 9.0c
(4.09.0000.0904)") ret=7d6a901d
0023:trace:ole:SysAllocStringLen L"= \"DirectX 9.0c (4.09.0000.0904)" 
...
--- snip ---

dxdiag (x.xx.xxxx.xxxx format) -> version 4.09.0000.0904 = DirectX 9.0c
registry (x.xx.xx.xxxx format) -> version 4.09.00.0904 = DirectX 9.0c

Unfortunately this DX runtime installer has nasty bug (comparing two floats
where one float never gets set, thanks MS) which lets the result always be <
9.0c, despite what DX runtime (9.0c, 10.x, 11.x) is installed.

This wouldn't be a problem if some 'genius' wouldn't have decided to castrate
the installer by stripping the payload away (AFAIK such modification isn't even
legal).
The failure messages in log file 'Unable to find cab list' and 'Installation
ended with value -2' are the result of that.

Because of that the installer always aborts with the DX runtime part and can
never proceed to the point of actual game demo install.

Can someone retest this demo installer on Windows and check if it also says 'DX
9.0c required' and refuses to go further?
If yes -> invalid.

$ wine --version
wine-1.7.18

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