http://bugs.winehq.org/show_bug.cgi?id=22774
Summary: DirectX installer very slow on wine Product: Wine Version: 1.1.44 Platform: x86 OS/Version: Linux Status: NEW Keywords: download, Installer Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com
It takes quite a few minutes for the DirectX installer to run. This matters because it's invoked by many game installers, and before first run of some games (e.g. CODMW2) on Steam. The load average while it's running is close to zero.
One thread in it seems to be doing a Sleep(5000) frequently, after which another thread does some message pumping for a second or so. windows/logs/DirectX.log is slowly outputting a series of lines like
... 05/19/10 10:23:37: dxupdate: CFusion::GetAssemblyList(): Microsoft.DirectX.AudioVideoPlayback:31bf3856ad364e35:31bf3856ad364e35 is not there. 05/19/10 10:23:42: dxupdate: CMDXInstall::Install(): no update in GAC. 05/19/10 10:23:42: dxupdate: CMDXInstall::Install(): Microsoft.DirectX.Diagnostics 05/19/10 10:23:42: dxupdate: Installed assembly Microsoft.DirectX.Diagnostics 05/19/10 10:23:42: dxupdate: CFusion::GetAssemblyList(): Microsoft.DirectX.Diagnostics:31bf3856ad364e35:31bf3856ad364e35 is not there. 05/19/10 10:23:47: dxupdate: CFusion::GetAssemblyList(): Microsoft.DirectX.Diagnostics:31bf3856ad364e35:31bf3856ad364e35 is not there. 05/19/10 10:23:52: dxupdate: CFusion::GetAssemblyList(): Microsoft.DirectX.Diagnostics:31bf3856ad364e35:31bf3856ad364e35 is not there. 05/19/10 10:23:57: dxupdate: CFusion::GetAssemblyList(): Microsoft.DirectX.Diagnostics:31bf3856ad364e35:31bf3856ad364e35 is not there. 05/19/10 10:24:02: dxupdate: CFusion::GetAssemblyList(): Microsoft.DirectX.Diagnostics:31bf3856ad364e35:31bf3856ad364e35 is not there. 05/19/10 10:24:07: dxupdate: CMDXInstall::Install(): no update in GAC. 05/19/10 10:24:07: dxupdate: CMDXInstall::Install(): Microsoft.DirectX.Direct3D 05/19/10 10:24:07: dxupdate: Installed assembly Microsoft.DirectX.Direct3D 05/19/10 10:24:07: dxupdate: CFusion::GetAssemblyList(): Microsoft.DirectX.Direct3D:31bf3856ad364e35:31bf3856ad364e35 is not there. 05/19/10 10:24:12: dxupdate: CFusion::GetAssemblyList(): Microsoft.DirectX.Direct3D:31bf3856ad364e35:31bf3856ad364e35 is not there. 05/19/10 10:24:17: dxupdate: CFusion::GetAssemblyList(): Microsoft.DirectX.Direct3D:31bf3856ad364e35:31bf3856ad364e35 is not there. 05/19/10 10:24:22: dxupdate: CFusion::GetAssemblyList(): Microsoft.DirectX.Direct3D:31bf3856ad364e35:31bf3856ad364e35 is not there. 05/19/10 10:24:27: dxupdate: CFusion::GetAssemblyList(): Microsoft.DirectX.Direct3D:31bf3856ad364e35:31bf3856ad364e35 is not there. 05/19/10 10:24:32: dxupdate: CMDXInstall::Install(): no update in GAC. 05/19/10 10:24:32: dxupdate: CMDXInstall::Install(): Microsoft.DirectX.Direct3DX 05/19/10 10:24:32: dxupdate: CFusion::GetAssemblyList(): Microsoft.DirectX.Direct3DX:31bf3856ad364e35:31bf3856ad364e35 is not there. ...
Can we trick the installer into not installing anything, and thereby completing quickly, by setting some registry values?