There's a large number of versions of the D3DX dll, from each SDK update, each version having a unique name (list of D3DX dll names).
All-too-often, people have versions missing. So even though they have a compatible version of DirectX, your D3D-based project won't run on their machine.
I want to be able to distribute games (little spare-time projects, game jam entries, etc) as a simple zip file, without the need for an installer. But a significant percentage of users run into missing D3DX .dll errors. And without an installer, Microsoft's official solution (the DirectX web installer/updater) isn't really much of a solution.
Unfortunately, Microsoft still won't give us the option of static linking to D3DX (which would be a nice clean solution). And avoiding using D3DX isn't very practical, especially if you're working with shaders (and no, I'm not switching to OpenGL, at least for now)
Does anyone have clever solutions to avoiding this DLL hell?