Make sure you have installed the latest bi-monthy DirectX redistributable, and Visual C++ 2008 Redistributable available from the Microsoft website.
Even though Vista already has DX9 and DX10, you still need to update to the latest runtimes of DirectX since the DirectX that comes with fresh installs of XP and Vista are basic and don't have the required libraries/dll's to run most newer applications..