Vista and running old games that use/install DX9?

I recently reinstalled SH4 on my new Vista box. At the install setup I deselected “install DX9” since I figured Vista already emulates DX9. But the game wouldn’t run saying it was missing a DX9 DLL file. So I then installed DX9 from the game CD manually. The game then ran fine.

So this has me confused. Have I screwed Vista by running the DX9c update ? Can this coexist with Vista’s built-in DX10 ?

I don’t have Vista, but my understanding is that DX9 and DX10 can coexist side-by-side with no ill effects.

The reason that you might have had to update DX9 to play that game is that, for the last several years, MS has been updating the D3DX portion of DirectX on a regular basis (while leaving the rest of DX as is – hence the lack of a change in version number). So when you install a newer version of DX 9.0c, basically all that gets updated is the set of D3DX DLLs that are installed – everything else remains the same.

Thanks Kool. I checked Microsoft’s website and it looks like they’re still updating DX9. Latest version is June 2007 and it is listed as being compatible with Vista.

Vista doesn’t ship with the Dx9 runtimes for god knows what reason. You made no mistake.

Every DX update ships as its own DLL anyways, so it’s not like it would overwrite DX10.

Vista DOES ship with the DX9 runtime, as well as the DX10 runtime. The Aero interface runs on DX9 so that it won’t require a DX10 card.

What you saw is merely the result of regular DX9 updates – every new game comes with its own very latest set of DLLs so you better install them to update your system’s set.

Better yet, just get the August redistributable for DirectX 9.0. Then you’re all up to date. The only changes that are made are for files that need to be updated.

No, that’s not really better. The DX9 version that comes with a game will install the exact version for which the game was compiled, thus avoiding any possible incompatibility issues with the current version.

The game had better be compatible with future version of DX9 too though, or it’s going to be in trouble when some other game comes along and updates it to that August version anyway.

I believe that the problem is that it ships with vanilla DirectX 9.0c and nothing newer. At least that was what I saw when I investigating a similar problem.

I don’t think that what you describe is really possible. If a game is build for d3dx9_28.dll and xinput1_1.dll, I don’t see how installing a later version of DirectX 9 with d3dx9_32.dll and xinput1_3.dll would interfere with it. At least, I have never run into any issues with this and the games I have played.

This is not an issue. The newer DX redists come with every past version of the D3DX DLL, so games that were using an older version will still use that older version. Backwards compatibility is not a problem.

Yes, but that’s not a “problem” that’s unique to Vista. You always need to install the latest DX9 revision when you get a new DX9 game, regardless of the operating system, because DX9 gets updated constantly. Shipping a newer DX9 snapshot wouldn’t really help you.

Okay, I didn’t know that. I thought some existing DLLs would be overwritten by the newer versions, thus causing problems with programs that rely on idiosyncracies (aka bugs) of the older versions.

Right, that whole DLL Hell SxS problem has never been thought of before.

I had a friend who installed DX9 on vista and it totally screwed up his install. He had wipe out his OS and start over. Id be very careful before I installed a DX9 update for vista.

You sure can run the DX9 installer every time. But if you already have a newer version of DX9, the installer will detect this and just exit saying that it was successful.

If you have a game built for the Feb 2007 DX9 runtime, you can totally install the August 2007 DX9 runtime because Aug2007 contains all the files from Feb2007 plus some newer ones.

All I was trying to say was that if you already know you have a newer version of the DX9 runtime, you do not need to run the installer for a game that comes with an older version. You can safely run the older installer, I am just saying that its totally not necessary.

We have installed DX9 on Vista successfully on about 12 different Vista flavours/hardware combos and encountered no problems. We even did the same thing under the Vista RCs and did not encounter any problems. I think that your friend encountered some sort of other tragic issue.

Yep, and I installed the Aug07 DX update on my Vista Ultimate 64-bit system and everything’s fine.

Maybe he was a moron and either did something else that “blew it up” or he reinstalled for something minor?

I’ve just hit “OK” to every prompt for installing DX9 on my Vista install and it’s working just fine. I have Civilization 4, Oblivion, C&C3, and a few other games all running just fine after having installed them in this manner.