Windows >
So I wanted to get City of Heroes – (2004 game) installed to try it out. I’ve been bored of World of Warcraft for the longest time, and a superhero-based game has been sounding like fun for some time now.
At this point neither Diablo 3 – (2012 game) nor Star Wars: The Old Republic were out. I just needed something to do.
But for some odd reason I could not get City of Heroes to work. It was definitely a DirectX issue, except DirectX refused to install! Hopefully someone out there can benefit from the hell I went through, and my notes would be useful..
Files ∞
Various files exist. Notable ones are:
-
DirectX End-User Runtime Web Installer
- The Microsoft DirectX® End-User Runtime provides updates to 9.0c and previous versions of DirectX — the core Windows® technology that drives high-speed multimedia and games on the PC.
-
DirectX End-User Runtimes (March 2009)
- This download provides the DirectX end-user redistributable that developers can include with their product.
-
DirectX End-User Runtimes (June 2010)
- This download provides the DirectX end-user redistributable that developers can include with their product.
The Work ∞
This is in chronological order, with my earliest attempts coming first, and my final solution coming last.
I edited the registry and deleted the one directx folder mentioned, but it was blank. Rebooted and re-tried.. no change.
Only directx_9c_Jun05sdk_redist creates C:\Windows\DirectX.log and nothing else does. I tried all of the older versions and the latest one, (both the redistributable and the web installers).
directx_9c_Jun05sdk_redist gave me a C:\Windows\DirectX.log with:
... 08/22/10 18:39:15: dxupdate: DirectXUpdateInstallPlugIn(): Checking for Jun2005_d3dx9_26_x86.cab... 08/22/10 18:39:15: dxupdate: DXCheckTrust(): C:\Documents and Settings\user\Desktop\directx\DIRECT~2\Jun2005_d3dx9_26_x86.cab is trusted. 08/22/10 18:39:15: dxupdate: Extracted file C:\WINDOWS\system32\DirectX\DX2.tmp\jun2005_d3dx9_26_x86.inf from cab 08/22/10 18:39:15: dxupdate: GetDXVersion(): This is older DirectX which does not have the version value in the registry. 08/22/10 18:39:15: dxupdate: DirectXUpdateGetSetupInformation(): GetDXVersion() failed. 08/22/10 18:39:15: dsetup32: InstallPlugIn(): DirectXUpdateInstallPlugIn() failed. 08/22/10 18:39:15: dsetup32: Installation ended with value -9 = Internal or unsupported error 08/22/10 18:39:16: DXSetup: WM_APP_ENDINSTALL 08/22/10 18:39:16: DXSetup: ~CDXWSetup()
Failed:
The DirectX Eradicator, dxerad.exe
Always claims that it’s given an invalid parameter. Seems to do nothing. I did check and I did enable Cryptographic Services like it requires. I do have find in the path. I gave up.
Failed:
- Get the original Windows XP install disk
- Log in as the administrator
Win-Rcmd /kSFC /Purgecache-
SFC /Scannow
I had to slap “retry” a couple of times. I do know that there are a couple of bad files on my install disk. I was able to install correctly though, and the system has worked fine without the bad files being installed..
This work made no difference.
AHA, there is a C:\WINDOWS\Logs\ directory! It has:
DirectX.log-
DXError.log
I deleted the files and re-ran the web setup.
DXError.log has:
Current DirectX may be a older version which does not have the version value in the registry.
DirectX.log has:
... 8/22/10 18:52:18: dxupdate: GetDXVersion(): RegQueryValueEx() failed, error = 2. 08/22/10 18:52:18: dxupdate: GetDXVersion(): Current DirectX may be a older version which does not have the version value in the registry. 08/22/10 18:52:18: dxupdate: DirectXUpdateDownloadPlugIn(): GetDXVersion() failed. 08/22/10 18:52:18: dxupdate: ~CDownloadManager() 08/22/10 18:52:19: DXWSetup: DownloadPlugIn(): DirectXUpdateDownloadPlugIn() failed. 08/22/10 18:52:19: DXWSetup: PreinstDlgProc(): DownloadPlugIn() failed. 08/22/10 18:52:19: DXWSetup: WM_APP_ENDDOWNLOAD 08/22/10 18:52:20: DXWSetup: CDXWSetup::~CDXWSetup() 08/22/10 18:52:20: DXWSetup: CreatePropertySheet() returns -9. 08/22/10 18:52:20: DXWSetup: Deleted file C:\WINDOWS\system32\directx\websetup\dsetup.dll. 08/22/10 18:52:20: DXWSetup: Deleted file C:\WINDOWS\system32\directx\websetup\dsetup32.dll.
… I added some stuff to the registry. I made a .reg file with:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX] "InstalledVersion"=hex:00,00,00,09,00,00,00,00 "Version"="4.09.00.0904"
… then I double-clicked it to insert it into my registry.
… then I deleted the logs, and did another dxsetup.exe /silent from my latest redistributable package.
The logs were different..
dxdiag prompted to connect to the internet.. I’ll try that.
Says 9.0c now. Seems to be fine.
dxwebsetup setup says there’s a newer or equivalent version installed.
Maybe everything is fine now?
Edited the registry to reduce the version numbers I put in. dxwebsetup is now downloading stuff.
Installing from the Jun 2010 silent, seems to go well. Made a .reg file for the registry stuff.
I was able to play a DirectX 10 game, so it looks like the solution was with the registry! It seems that a default Windows XP install followed by an install of StarCraft – (1998/2017 game) will thereafter be broken for updating DirectX until the registry has those missing items added. It’s no wonder Windows 7 will have DirectX 11 pre-installed.
