View Full Version : Build my own DirectX 9.0c Runtime object - help?

11-03-2005, 02:53 PM
I have two questions really.

First, we have code that uses managed DirectX. So we need DX 9.0c with the managed wrappers. The DX9 installer is supposed to notice that you have the .NET Framework installed and drop the managed wrappers into the Microsoft.NET subfolder of your system folder.

It's not doing that.

Very important background: Microsoft has had a lot of trouble with the DX 9.0c runtime, so they have "slipstreamed" several fixes. Sadly, all of them are called "9.0c". So you have to distinguish between the "November 2004 DX 9.0c" and the "April 2005 DX 9.0c", etc.

I happen to know for a fact that at least one of them, I think the November 2004 installer, contained the following defect: if you ran it on a system without DX9, like an older Windows 2000 box, it would work fine and install the managed wrappers along with the rest of DX9. But if you ran it on a box that already had unmanaged DX9 installed, it would fail to add the managed wrappers; instead it would erroneously conclude there was nothing to do and exit quietly.

This was fixed in a slightly later DX9.0c, I think the April 2005 one.

So my first question: is there any way to tell exactly which version of DX 9.0c is included in the "managed DX 9.0c" object that comes by default from InstallShield?

My second question: if I end up having to make my own InstallShield object containing the "right" version of DX 9.0c, what approach is best? I read the docs, but as usually they leave numerous questions unanswered. For example, there are two kinds of InstallShield objects, the InstallScript kind and the MSI kind. Which should I use? And, what I have to start with is the "unpacked" installer, containing DX9SETUP.EXE and a bunch of .CAB files. Do I just plop them all in the module? How does the DX9SETUP.EXE get launched?

Thanks for any help...

Lars Iversen
05-01-2007, 08:40 AM
Hi Jeff

Did you find a solution for this issue?
I have the exact same scenario here. I need to redist DX9c for managed code and all I have is a DXsetup.exe and a lot of cab files.

Does anybody else have a solution for this? Does anybody from Macrovison ever look at this forum?
(I'm using installshield 11.5)

Thanks in advance
Lars iversen

05-01-2007, 02:10 PM
The version from InstallShield does not include any of the fixes. I had to bundle my own version and handle the installation manually within setup. The nice part is if you launch the setup for directx9 and the CAB files are present in the directory that contains the .exe, then the DX9 will pickup on the changes.

05-16-2007, 05:29 PM
DLee65 - you say "I had to bundle my own version and handle the installation manually within setup".

How did you do that?

I have packaged the installation as a Prerequisite, but the interface is a bit confusing to some users. It would be better running in line with the rest of the installation.