D3DX DLLs redistribution

Started by
4 comments, last by Codeka 14 years, 5 months ago
Hey guys, I have developed a demo for a realtime shader effect using DX10, and found that it depends on d3dx10_41.dll and d3dx9_41.dll. What is the usual way of redistribution of these files? For what I have read in the SDK license, I should bundle them with DXSETUP.exe; but it is a little bit overkill to bundle the DX installer (even if I only put there the .cabs of D3DX DLLs) with such a tiny demo. What you people do to redistribute DirectX demos that depend on D3DX DLLs? Regards, Jorge [Edited by - IrYoKu1 on November 3, 2009 2:51:30 PM]
Advertisement
The only legal way is to use the installer, or ask people to run the installer themselves.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Would be legal to embed the installer files into the demo executable?

Then if installation is required, I would just write the installer files to the tmp dir, and launch the installer from my app using the DirectXSetup function.

Thanks!
Here's everything you need to know about installing the DirectX redistributables.

Basically, you have to use the dxsetup.exe program to install them, but you are allow to strip out any components that your application doesn't actually need. Embedding the installer components in your own installer is OK, too.

One other option that they point out on that page is the DirectX Web Installer. You're not allowed to redistribute it, but you can point your users to http://www.microsoft.com/directx/ and ask them to download DirectX themselves by clicking the "download" link. Perhaps your installer could run a test to see whether they've got the correct component installed, and pop up a link to that page only if it doesn't find them. That way, you'll save quite a bit of space.
I think I will embed the installer components in the executable file then (in the app itself, because it does not have an installer; it is a single-file executable with all the required stuff embedded), and run the installer only if the required SDK version is not found. The files I need (D3DX dlls + installer stuff) only take 1MB so it should not be a problem.

Thanks!
As long as you delay-load the D3DX DLLs, that should work fine.

This topic is closed to new replies.

Advertisement