Just 2 days ago I had the exact same exception problem when I tried to run my app without having managed DirectX 9.0b installed.
After that frustration, I spent time and figured out the easiest way to get a runtime machine working, so the other members of my team (artist, tester, etc.) could get up-and-running ASAP. I've pasted that at the bottom of this post.
As for your question about including a DirectX 9.0b installer, this text (on the DirectX 9.0b redistributable download page) should answer your question.
---------------------------------
DirectX 9.0b has a silent install (no UI, and no reboot) which is available to Microsoft Volume License Customers (VLC) on the following Microsoft Volume License Site (MVLS). This is a Multi-lingual package which does not require an internet connection during installation.
The VLC will have to go through a registration process to get access to the Downloads and their agreement info. After the VLC initially signed their agreement, the Notices or Primary on the agreement would have received an MVLS invitation e-mail, which includes a unique Registration ID, which they should have used to gain access to their agreements. If they didnt do this within 90 days, their RegID expires and they have to ask support to help gain access. The support links are stated on the site, but if theyre in the US send mail to
mvlshelpa@msdirectservices.com.
1. Login to the site (
https://licensing.microsoft.com )
2. Click downloads in the left nav menu (You must have agreements in their view to see this link)
3. Choose keyword search
4. Type DirectX, click Search
5. They should see the link for DirectX..
---------------------------------
Also, I verified just a couple of days ago that if you use the MS Installer for your .NET application, you can have it transparently include the .NET 1.1 Framework into your installation process. I'm not sure *how* to do this yet, but I did find MS documentation that it's possible.
Hope that helps.
-Hiro_Antagonist
INSTALL INSTRUCTIONS:
-----------------------------------------------------------
Basic Steps:
1. Install .NET 1.1 Framework
2. Install *managed* DirectX 9.0b
3. Run <your_app>
-----------------------------------------------------------
Detailed Steps:
------------------------------
1. Install .NET 1.1 Framework
------------------------------
1) Download the .NET Framework from
http://www.microsoft.com/downloads/...e3-f589-4842-8157-034d1e7cf3a3&displaylang=en
2) Run it.
----------------------------------
2. Install *managed* DirectX 9.0b
----------------------------------
1) Download the DirectX 9.0b redistributable from
http://www.microsoft.com/downloads/...DB-DCCE-43EA-87BB-7C7E1FD1EAA2&displaylang=en
2) Save the DirectX 9.0b redistributable to your hard drive.
3) Run the executable. When you run the setup, it will ask you where to unpack the DirectX files.
4) Choose an easy-to-remember location, like C:\DirectX.
5) After the files are done unpacking, run the managed DirectX install. To do this,
click on your Start menu
select "Run..."
6) In the Run textbox, type in "<location of directx files>\dxsetup /installmanageddx".
For example, if you installed the files to C:\DirectX, you would type in:
C:\DirectX\dxsetup /installmanageddx
This will install the Managed DirectX components to your machine.