Windows 2000 only supports up to Feb 2010 DirectX 9.0c
As with the dizzying number of graphics cards the software ran on, I never really kept track of DirectX versions growing up. I paid the price recently when I tried to install it on an old copy of Windows 2000 to relive some classic simulator games, and encountered multiple incompatible releases with the same version number.
I couldn't find an iDirectX 9.0s
DirectX 9.0c is the last version to support Windows 2000, according to the official Microsoft Download Centre doucmentation. Unfortunately, the first page result downloads the infamous dxwebsetup.exe stub file, which then downloads DirectX. Yo dawg, I heard you like installers, so we put an installer in your installer so you can install while you install.
I couldn't even use this if I wanted to. Because the OS no longer receives security updates, I run Windows 2000 in a sandboxed VM to shield it from the outside world. The key then is to do what we all did in the past, and download the redistributable version of DirectX. This allows you to download the whole installer in one shot, and keep it for future installs.
I proceeded to download DirectX 9.0c, and was given the following prompt in Windows 2000:
23 secret herbs and spices
Digging around for an explanation for this error, I rediscovered something utterly confusing. Despite the seemingly specific version number, there were 23 versions of DirectX 9.0c released between June 2005 and June 2010. Of these, all are compatible with Windows 2000 except the last version which included some new incompatible features.
Moral of the story: if you're a Windows 2000 guy or girl still, you want the February 2010 release of DirectX 9.0c.