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@winehq.org ReportedBy: focht@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/95ede76673df1dafb3e716a4617c57922...
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/95ede76673df1dafb3e716a4617c57922...
http://source.winehq.org/git/wine.git/blob/95ede76673df1dafb3e716a4617c57922...
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
http://bugs.winehq.org/show_bug.cgi?id=28722
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression URL| |installer Regression SHA1| |95ede76673df1dafb3e716a4617 | |c57922907694c
--- Comment #1 from Anastasius Focht focht@gmx.net 2011-10-14 08:21:50 CDT --- Hello,
looking at the code/history again this is actually a regression...
Regards
http://bugs.winehq.org/show_bug.cgi?id=28722
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |Installer URL|installer |
--- Comment #2 from Anastasius Focht focht@gmx.net 2011-10-14 08:27:19 CDT --- Hello,
whoops, one keyword magically moved into another field ;-)
Regards
http://bugs.winehq.org/show_bug.cgi?id=28722
--- Comment #3 from Henri Verbeet hverbeet@gmail.com 2011-10-14 13:23:31 CDT --- (In reply to comment #0)
GAMEUX_RegisterGame() has two HRESULT's defined, one var shadows the other hence preventing error propagation.
Does http://source.winehq.org/patches/data/79905 help with this then?
http://bugs.winehq.org/show_bug.cgi?id=28722
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |a4ee6226ae4ecbf921a4dac2060 | |c796f1b1ad5b8 Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #4 from Anastasius Focht focht@gmx.net 2011-10-14 14:56:40 CDT --- Hello Henri,
--- quote --- Does http://source.winehq.org/patches/data/79905 help with this then? --- quote ---
well ... the installer doesn't bail anymore and finishes. Thanks.
Though the game registration part still fails (installer seems to ignore that). That issue deserves an extra bug ...
+gameux
--- snip --- ... 0024:trace:gameux:DllGetClassObject ({9a5ea990-3034-4d6f-9128-01f3c61022bc}, {00000001-0000-0000-c000-000000000046}, 0x318d20) 0024:trace:gameux:gameuxcf_QueryInterface (0x7d2bbbd4, {00000001-0000-0000-c000-000000000046}, 0x318d20) 0024:trace:gameux:gameuxcf_AddRef (0x7d2bbbd4) 0024:trace:gameux:gameuxcf_CreateInstance (0x7d2bbbd4, (nil), {e7b2fb72-d728-49b3-a5f2-18ebf5f1349e}, 0x318d6c) 0024:trace:gameux:GameExplorer_create ((nil), 0x318cb0) 0024:trace:gameux:GameExplorer_create returning iface: 0x158fd90 0024:trace:gameux:GameExplorerImpl_QueryInterface (0x158fd90, {e7b2fb72-d728-49b3-a5f2-18ebf5f1349e}, 0x318d6c) 0024:trace:gameux:GameExplorerImpl_AddRef (0x158fd90): ref=2 0024:trace:gameux:GameExplorerImpl_Release (0x158fd90): ref=1 0024:trace:gameux:gameuxcf_Release (0x7d2bbbd4) 0024:fixme:gameux:GameExplorerImpl_VerifyAccess (0x158fd90, L"C:\Program Files\Ubisoft\Assassin's Creed\AssassinsCreed_Dx9.exe", 0x318d88) 0024:trace:gameux:GameExplorerImpl_AddGame (0x158fd90, L"C:\Program Files\Ubisoft\Assassin's Creed\AssassinsCreed_Dx9.exe", L"C:\Program Files\Ubisoft\Assassin's Creed", 0x3, {966b6370-3dc4-484d-aabc-2eb1c2695c3a}) 0024:trace:gameux:GAMEUX_RegisterGame (L"C:\Program Files\Ubisoft\Assassin's Creed\AssassinsCreed_Dx9.exe", L"C:\Program Files\Ubisoft\Assassin's Creed", 0x3, {966b6370-3dc4-484d-aabc-2eb1c2695c3a}) 0029:trace:gameux:GAMEUX_ParseGDFBinary (0x318c8c)->sGDFBinaryPath = L"C:\Program Files\Ubisoft\Assassin's Creed\AssassinsCreed_Dx9.exe" 0024:trace:gameux:GAMEUX_RegisterGame returning 0x80004005 0024:fixme:wbemprox:wbem_locator_ConnectServer 0x158f810, L"\\.\root\cimv2\Applications\Games", (null), (null), (null), 0x00000000, (null), (nil), 0x31751c) 0024:trace:gameux:GameExplorerImpl_Release (0x158fd90): ref=0 0024:trace:gameux:GameExplorerImpl_Release freeing GameExplorer object 0024:trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7ed64629 ip=7ed64629 tid=0024 0024:trace:seh:raise_exception info[0]=19930520 0024:trace:seh:raise_exception info[1]=00324bc0 0024:trace:seh:raise_exception info[2]=100f9888 0024:trace:seh:raise_exception eax=7ed500a5 ebx=7edcdff4 ecx=19930520 edx=00324abc esi=e06d7363 edi=00324b40 0024:trace:seh:raise_exception ebp=00324b40 esp=00324a9c cs=0073 ds=007b es=007b fs=0033 gs=003b flags=00200287 ... --- snip ---
Not sure why game registration is called at the beginning (before copying files) and not at the end like the firewall config settings:
--- snip --- 0024:fixme:hnetcfg:fw_app_put_ProcessImageFileName 0x15fcc10, L"C:\Program Files\Ubisoft\Assassin's Creed\AssassinsCreed_Dx9.exe" 0024:fixme:hnetcfg:fw_app_put_Name 0x15fcc10, L"Assassin's Creed Dx9" 0024:fixme:hnetcfg:fw_apps_Add 0x1589748, 0x15fcc10 0024:fixme:hnetcfg:fw_app_put_ProcessImageFileName 0x1589cc0, L"C:\Program Files\Ubisoft\Assassin's Creed\AssassinsCreed_Dx10.exe" 0024:fixme:hnetcfg:fw_app_put_Name 0x1589cc0, L"Assassin's Creed Dx10" 0024:fixme:hnetcfg:fw_apps_Add 0x1589748, 0x1589cc0 0024:fixme:hnetcfg:fw_app_put_ProcessImageFileName 0x16411c0, L"C:\Program Files\Ubisoft\Assassin's Creed\AssassinsCreed_Launcher.exe" 0024:fixme:hnetcfg:fw_app_put_Name 0x16411c0, L"Assassin's Creed Update" 0024:fixme:hnetcfg:fw_apps_Add 0x1589748, 0x16411c0 --- snip ---
Regards
http://bugs.winehq.org/show_bug.cgi?id=28722
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alexandre Julliard julliard@winehq.org 2011-10-21 13:49:27 CDT --- Closing bugs fixed in 1.3.31.