[Bug 28722] New: Assassins Creed installer fails with GameuxInstallHelper.AddToGameExplorerW error 0x80040707

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Oct 14 08:18:49 CDT 2011


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

             Bug #: 28722
           Summary: Assassins Creed installer fails with
                    GameuxInstallHelper.AddToGameExplorerW error
                    0x80040707
           Product: Wine
           Version: 1.3.30
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gameux
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: focht at gmx.net
    Classification: Unclassified


Hello,

the installer fails with error message box shown:

--- snip ---
Error Number: 0x80040707
Description: DLL function call crashed: GameuxInstallHelper.AddToGameExplorerW
Setup will now terminate.
--- snip ---

Trace log (+gameux) reveals:

--- snip ---
...
0026:trace:gameux:GameExplorer_create returning iface: 0x15a1020
0026:trace:gameux:GameExplorerImpl_QueryInterface (0x15a1020,
{e7b2fb72-d728-49b3-a5f2-18ebf5f1349e}, 0x318d6c)
0026:trace:gameux:GameExplorerImpl_AddRef (0x15a1020): ref=2
0026:trace:gameux:GameExplorerImpl_Release (0x15a1020): ref=1
0026:trace:gameux:gameuxcf_Release (0x7d2c0bd4)
0026:Ret  ole32.CoCreateInstance() retval=00000000 ret=008b390a
0026:fixme:gameux:GameExplorerImpl_VerifyAccess (0x15a1020, L"C:\\Program
Files\\Ubisoft\\Assassin's Creed\\AssassinsCreed_Dx9.exe", 0x318d88)
0026:trace:gameux:GameExplorerImpl_AddGame (0x15a1020, L"C:\\Program
Files\\Ubisoft\\Assassin's Creed\\AssassinsCreed_Dx9.exe", L"C:\\Program
Files\\Ubisoft\\Assassin's Creed", 0x3, {eb95a6e4-923b-4469-9443-6cf5d301f782})
0026:trace:gameux:GAMEUX_RegisterGame (L"C:\\Program Files\\Ubisoft\\Assassin's
Creed\\AssassinsCreed_Dx9.exe", L"C:\\Program Files\\Ubisoft\\Assassin's
Creed", 0x3, {eb95a6e4-923b-4469-9443-6cf5d301f782}) 
...
0026:Call
KERNEL32.CreateThread(00000000,00000000,7d2b0560,00318c34,00000000,00318c84)
ret=7d2b1a36
0026:Ret  KERNEL32.CreateThread() retval=00000108 ret=7d2b1a36
0026:Call KERNEL32.WaitForSingleObject(00000108,ffffffff) ret=7d2b1a53 
...
002b:Starting thread proc 0x7d2b0560 (arg=0x318c34)
002b:trace:gameux:GAMEUX_ParseGDFBinary (0x318c8c)->sGDFBinaryPath =
L"C:\\Program Files\\Ubisoft\\Assassin's Creed\\AssassinsCreed_Dx9.exe"
002b:Call ole32.CoInitialize(00000000) ret=7d2b0715 
...
002b:Ret  ole32.CoCreateInstance() retval=00000000 ret=7d2b074b 
...
002b:Call urlmon.CreateURLMoniker(00000000,015a51ec L"res://C:\\Program
Files\\Ubisoft\\Assassin's
Creed\\AssassinsCreed_Dx9.exe/DATA/__GDF_XML",0a34e718) ret=7d210c2a 
...
002b:Call urlmon.CoInternetParseUrl(015a5f4c L"res://C:\\Program
Files\\Ubisoft\\Assassin's
Creed\\AssassinsCreed_Dx9.exe/DATA/__GDF_XML",00000007,00000000,015a6000
L"\55a8\015d\0128\0011",00000065,0a34d1dc,00000000) ret=7cdb146d 
...
002b:Call KERNEL32.LoadLibraryExW(015a600c L"C:\\Program
Files\\Ubisoft\\Assassin's
Creed\\AssassinsCreed_Dx9.exe/DATA",00000000,00000002) ret=7cdb150a
002b:Ret  KERNEL32.LoadLibraryExW() retval=00000000 ret=7cdb150a
002b:Call KERNEL32.LoadLibraryExW(015a600c L"C:\\Program
Files\\Ubisoft\\Assassin's Creed\\AssassinsCreed_Dx9.exe",00000000,00000002)
ret=7cdb191a
002b:Ret  KERNEL32.LoadLibraryExW() retval=00000000 ret=7cdb191a 
...
0026:Ret  KERNEL32.WaitForSingleObject() retval=00000000 ret=7d2b1a53
0026:Call KERNEL32.CloseHandle(00000108) ret=7d2b1a65
0026:Ret  KERNEL32.CloseHandle() retval=00000001 ret=7d2b1a65
0026:trace:gameux:GAMEUX_WriteRegistryRecord (0x318c8c)
0026:trace:gameux:GAMEUX_buildGameRegistryPath (0x3,
{eb95a6e4-923b-4469-9443-6cf5d301f782}, 0x318c84) 
...
0026:trace:gameux:GAMEUX_buildGameRegistryPath result: 0x0, path:
L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\GameUX\\Games\\{EB95A6E4-923B-4469-9443-6CF5D301F782}"
0026:Call ole32.StringFromGUID2(00318ca8,00318c34,00000028) ret=7d2b1b04
0026:Ret  ole32.StringFromGUID2() retval=00000027 ret=7d2b1b04
0026:Call advapi32.RegCreateKeyExW(80000002,015a4b40
L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\GameUX\\Games\\{EB95A6E4-923B-4469-9443-6CF5D301F782}",00000000,00000000,00000000,000f013f,00000000,00318c88,00000000)
ret=7d2b1b5d
0026:Ret  advapi32.RegCreateKeyExW() retval=00000000 ret=7d2b1b5d
0026:Call advapi32.RegSetValueExW(00000108,7d2b7180
L"ConfigApplicationPath",00000000,00000001,015a4600,00000054) ret=7d2b1ed2
0026:Ret  advapi32.RegSetValueExW() retval=00000000 ret=7d2b1ed2
0026:Call advapi32.RegSetValueExW(00000108,7d2b71c0
L"ConfigGDFBinaryPath",00000000,00000001,015a1038,00000082) ret=7d2b1f8a
0026:Ret  advapi32.RegSetValueExW() retval=00000000 ret=7d2b1f8a
0026:Call advapi32.RegSetValueExW(00000108,7d2b71e8
L"ApplicationId",00000000,00000001,00318c34,0000004e) ret=7d2b1ff2
0026:Ret  advapi32.RegSetValueExW() retval=00000000 ret=7d2b1ff2
0026:trace:seh:raise_exception code=c0000005 flags=0 addr=0x7d2b2012
ip=7d2b2012 tid=0026
0026:trace:seh:raise_exception  info[0]=00000000
0026:trace:seh:raise_exception  info[1]=00000000
0026:trace:seh:raise_exception  eax=00000002 ebx=7d2bdff4 ecx=00000000
edx=00000000 esi=00000000 edi=00000108
0026:trace:seh:raise_exception  ebp=00318c34 esp=00318bf4 cs=0073 ds=007b
es=007b fs=0033 gs=003b flags=00010246
0026:trace:seh:call_vectored_handlers calling handler at 0x7e0cacf0
code=c0000005 flags=0
0026:trace:seh:call_vectored_handlers handler at 0x7e0cacf0 returned 0
0026:trace:seh:call_stack_handlers calling handler at 0x100ad572 code=c0000005
flags=0 
...
0026:Call user32.MessageBoxA(0003008c,00b70f68 "Error Number:
0x80040707\nDescription: DLL function call crashed:
GameuxInstallHelper.AddToGameExplorerW\n\nSetup will now terminate.",00b71418
"Unhandled Exception",00000000) ret=100708ab 
--- snip ---

The crash location:

http://source.winehq.org/git/wine.git/blob/95ede76673df1dafb3e716a4617c57922907694c:/dlls/gameux/gameexplorer.c#l250

bstrName and bstrDescription are NULL at this point, leading to crash.

Wine-dbg>p GameData
{sGDFBinaryPath="C:\Program Files\Ubisoft\Assassin's
Creed\AssassinsCreed_Dx9.exe", sGameInstallDirectory="C:\Program
Files\Ubisoft\Assassin's Creed", installScope=GIS_ALL_USERS,
guidInstanceId={Data1=0x7e77042, Data2=0xe63d, Data3=0x4c15, Data4="????"},
guidApplicationId={Data1=0, Data2=0, Data3=0, Data4=""}, bstrName=0x0(nil),
bstrDescription=0x0(nil)}

GAMEUX_RegisterGame() has two HRESULT's defined, one var shadows the other
hence preventing error propagation.

http://source.winehq.org/git/wine.git/blob/95ede76673df1dafb3e716a4617c57922907694c:/dlls/gameux/gameexplorer.c#l545

http://source.winehq.org/git/wine.git/blob/95ede76673df1dafb3e716a4617c57922907694c:/dlls/gameux/gameexplorer.c#l568

The gameux registration is actually called _before_ the real installation,
hence the binaries are not yet in place (c:).

The binaries are present on media:

--- snip ---
$ ls -l /media/ASSASSINS_CREED/System/
total 51640
-rw------- 1 focht focht 25671264 2008-03-06 19:01 AssassinsCreed_Dx10.exe
-rw------- 1 focht focht 26150480 2008-03-06 19:01 AssassinsCreed_Dx9.exe
-rw------- 1 focht focht   434824 2008-03-06 19:01 AssassinsCreed_Game.exe
-rw------- 1 focht focht   619144 2008-03-06 19:00 AssassinsCreed_Launcher.exe
dr-x------ 8 focht focht      304 2008-03-06 21:00 Resources
--- snip ---

Regards

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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