Beginning with Windows 8 some games won't use IndirectSound
even if the dsound.dll is in the correct location.
To fix this the Windows registry must be changed.
(Some Windows updates also make it necessary to repeat these changes.)
Use caution when changing the registry! Making invalid changes can cause a computer to not function correctly.
The changes described in this section only affect the current user and are easier to undo if something goes wrong because they don't affect what Windows has done during installation or updates.
Instead of following the instructions below to make these changes manually in the registry editor you can use a file that I have made to do the same thing automatically, but use this at your own risk! This is a text file and you can open it in a text editor to inspect what changes it will make (and verify that it makes the same changes that are described on this page). To use the automatic file:
.reg
(I couldn't use the correct .reg extension on the file you download
because some browsers block these potentially dangerous files).
The filename doesn't matter except for how it ends
but if you just remove ".txt" from the end of the downloaded filename
then you will have dsound.reg which is a good choice.
(If you have Windows configured so that it hides file extensions
then this step may be confusing or difficult.
Try doing an internet search for "how to change file extensions if Windows hides them".
If you have successfully added the .reg file extension
the file will have a different icon in Windows File Explorer.)
.reg extension in Windows File Explorer
and select yes when asked if you want to allow changes to be made on your computer
There are two locations where the relevant CLSID registry values are located. If you decide to change a registry value for a specific CLSID then it probably makes sense to change it in both of the following places:
There are two CLSIDs used to create DirectSound interfaces for playing sounds. If a game uses a CLSID explicitly it will likely be one of these two:
Do the following for each CLSID (in other words, you will do the following sequence of steps 4 times):

dsound.dll
in the same directory that the game is in before it looks for the official Microsoft version.)
The changes described in this section are no longer recommended. They affect every user and change what Windows has done during installation or updates.
There are two locations where the relevant CLSID registry values are located. If you decide to change a registry value for a specific CLSID then it probably makes sense to change it in both of the following places:
There are two CLSIDs used to create DirectSound interfaces for playing sounds. If a game uses a CLSID explicitly it will likely be one of these two:
For each CLSID that you decide to change:
%SystemRoot%\System32\dsound.dll
and a game explicitly creates a DirectSound interface using this CLSID
then Windows will use the dsound.dll at that path instead of
the IndirectSound dsound.dll that you have put in the game's directory.
In order for Windows to use IndirectSound this registry value must be
just the filename with no path:
There are additional CLSIDs used to create other DirectSound interfaces. IndirectSound does not currently implement these interfaces, but they are listed here for completeness: