In Windows 7 and later versions (including Windows 11), some components of DirectX 9 and older DirectX versions are not included by default (even if DirectX 10, 11, and 12 are already installed). Installing DirectX 9.0c (now called the "legacy DirectX SDK" by Microsoft) on Windows 7 and later should also allow the running of games that require DirectX versions prior to DirectX 10.
What I'd do in your case is install the latest version of DirectX 9.0c (June 2010 update) / legacy DirectX SDK. Once it is installed, there should be no need to install DirectX versions prior to DirectX 10, even if a game installer prompts you to.
Old games prompt the user to install old pre-DX10 DirectX versions because of DirectX's convoluted components and installation process in the past. This process had been simplified by the time Windows XP SP2 was released, as explained in this MSDN blog post.
You can download the DirectX 9.0c June 2010 update from Microsoft's website: Standalone Installer / 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.
This DirectX End-User Runtime does not change the version of DirectX, but does install a number of optional side-by-side technologies from the legacy DirectX SDK that are used by some older games. For a detailed explanation see https://aka.ms/dxsetup.
Note that this package does not modify the DirectX Runtime installed on your Windows OS in any way.
On the standalone installer, after you run it, it will ask you to specify a directory where the installation files should be extracted. Specify a directory and extract the files. In the extraction directory, run DXSETUP.exe
. This will install all components of DirectX 9.0 / legacy DirectX SDK.