DirectX Software Development Kit

Download the complete DirectX SDK, which contains the DirectX Runtime and all DirectX software required to create DirectX compliant applications in C/C++ and C#.
  • Version:


    File Name:


    Date Published:


    File Size:

    441.0 MB

      If you had previously downloaded the April SDK and were using XACT, you should download this new version. The most up-to-date version of XACT is Windows version 9.18.944.0.

      This DirectX SDK release contains updates to tools, utilities, samples, documentation, and runtime debug files for x64 and x86 platforms.

      For additional information please see Microsoft DirectX Developer Center along with reviewing the Readme for last-minute updates.
  • System Requirements
    Supported Operating System

    Windows Server 2003, Windows Server 2003 R2 (32-Bit x86), Windows Server 2003 R2 Datacenter Edition (32-Bit x86), Windows Server 2003 R2 Datacenter x64 Edition, Windows Server 2003 R2 Enterprise Edition (32-Bit x86), Windows Server 2003 R2 Enterprise x64 Edition, Windows Server 2003 R2 Standard Edition (32-bit x86), Windows Server 2003 R2 Standard x64 Edition , Windows Server 2003 R2 x64 editions, Windows Server 2003 Service Pack 1, Windows Server 2003 Service Pack 2, Windows Server 2003 Service Pack 2 x64 Edition, Windows Server 2003 x64 editions, Windows Server 2003, Datacenter Edition (32-bit x86), Windows Server 2003, Datacenter x64 Edition, Windows Server 2003, Enterprise Edition (32-bit x86), Windows Server 2003, Enterprise x64 Edition, Windows Server 2003, Standard Edition (32-bit x86), Windows Server 2003, Standard x64 Edition, Windows Server 2003, Web Edition, Windows Small Business Server 2003 , Windows Vista, Windows Vista Business, Windows Vista Business 64-bit edition, Windows Vista Business N, Windows Vista Enterprise, Windows Vista Enterprise 64-bit edition, Windows Vista Home Basic, Windows Vista Home Basic 64-bit edition, Windows Vista Home Basic N, Windows Vista Home Premium, Windows Vista Home Premium 64-bit edition, Windows Vista Starter, Windows Vista Starter N, Windows Vista Ultimate, Windows Vista Ultimate 64-bit edition, Windows XP, Windows XP 64-bit, Windows XP Home Edition , Windows XP Home Edition N, Windows XP Media Center Edition, Windows XP Professional Edition, Windows XP Professional N, Windows XP Professional x64 Edition , Windows XP Service Pack 1, Windows XP Service Pack 2, Windows XP Starter Edition, Windows XP Tablet PC Edition

      • Using Managed DirectX ( MDX ) requires both Visual Studio .NET and the .NET framework for development. To run MDX .NET applications, you must install the .NET Framework.
      1. Click the Download button on this page to start the download
      2. Do one of the following:
        • To start the installation immediately, click Run.
        • To save the download to your computer for installation at a later time, click Save.
        • To cancel the installation, click Cancel.
  • Additional Information
      This section contains the following:

      What's New in the April 2007 DirectX SDK

      This version of the DirectX SDK contains the following new features, tools, and documentation.

      Improvements to the XACT User Interface

      This release includes several new features, which include new property pages, a Programmer's Report, and improved audition monitoring.

      • The property pages can now be undocked from the main XACT window. The most frequently edited properties can now be adjusted with a single mouse click. In addition, the property controls have an updated look and feel that provides a more visually intuitive interface.
      • As part of the build process, XACT can now generate a Programmer's Report. This report provides details about the cues, sounds banks, variables, and other information that is useful to the programmer when playing back XACT content. You can generate the report in both plain text format and tab-delimited format.
      • Sound designers can now track resource usage, audio output levels, and activity in the XACT engine, from within the authoring tool itself.
      • Projects that use runtime parameter controls (RPCs) can now be merged.

      Improvements to PIX

      This releases adds diagnostic logging and customizable pane layouts.

      • If a program exits unexpectedly while PIX is performing a capture of the program, PIX will now report that there was a problem and offer to run the experiment again in diagnostic logging mode. In this mode, PIX will create a log of all function calls and all debug output generated by Direct3D and the target program. This log file will help identify what the target program was doing when the crash occurred. There is also a new option to pause execution as soon as the target program starts, to allow time to attach a debugger and more easily track down what is going wrong.
      • PIX now supports three user-definable custom pane layouts when viewing a run file. This allows users to define and quickly switch between three different arrangements of the various views of the run file.
      Updated Shader Compiler

      This release includes a new shader compiler that provides many optimizations and bug fixes for HLSL and Effect compilation. This updated version is available for shader models 2.x and 3.x using either FXC.exe or D3DX9_33.dll. For shader model 4.0, developers can use either FXC.exe or one of the new functions D3DX10CompileFromFile, D3DX10CompileFromResource, and D3DX10CompileFromMemory (contained in D3DX10_33.dll).

      Effect Pools Sample

      One of the downsides to using multiple effects in a single application is that many effect variables need to be set for each effect. Frequently, many of these variables are common between effects. Without a method for sharing variables or shaders between effects, many redundant state-setting calls will need to be made for each effect. Effect pools are meant to solve this problem. This sample demonstrates the use of effect pools on Direct3D 9 and Direct3D 10.

      Known Issues with the April 2007 SDK

      Microsoft Cross-Platform Audio Creation Tool (XACT)

      The Microsoft Cross-Platform Audio Creation Tool (XACT) has the following issues:

      • The peak LED meters in the XACT auditioning monitor may get stuck. Users can choose to ignore this and let other playing content clear the stuck meters. As long as content is playing, the peak LED meters will eventually clear. Alternatively, users can right-click on the level meters and select Clear Clip LEDs.
      • The speaker positioning calculations done by XACT are incorrect for sounds with wave variations. Playing a new variation will cause the speaker position for th sound to reset.
      • The arrTrackProperties member of the XACT_SOUND_PROPERTIES structure is now an array, letting developers avoid pointer math to access the XACT_SOUND_PROPERTIES structures.
      • To use the XACT user interface on Windows Vista, you must install the Microsoft .NET Framework 1.1. The .NET Framework can be downloaded from the Microsoft Download Center.
      • If you attempt to import more than 500 wave files at a time by using the Wave Insert dialog box, XACT on Windows Vista displays an invalid error message.f you attempt to import more than 500 wave files at a time by using the Wave Insert dialog box, XACT on Windows Vista displays an invalid error message. In this scenario, you receive a message similar to "? does not exist. Please verify that the correct file name was given."

        To add more than 500 waves at one time, drag them from Windows Explorer directly into the wave bank. The invalid error message will be corrected in a future release of the SDK.

      • The beats per minute (BPM) parameter for pitch, volume, and marker events in XACT is broken. Do not set this parameter.
      • If some tracks have multiple variations and others do not, looping sounds with multiple tracks get out of sync over time.
      These issues will be fixed in a future release of the SDK.

      New HLSL Shader Compiler for Direct3D 9 Targets: No Support for 1.x Pixel Shader Targets

      The new compiler has no support for 1.x pixel shader targets. This new compiler is the default for Direct3D 9 and 10. The new compiler has the following issues:

      • The /Fc, /Fo, and /Fh command-line switches are mutually exclusive. If they are used together, the compiler will print the usage message and then fail.
      • In an effects or shader file, if you include a file with a relative path and then subsequently include a file from the current directory, the compiler will report an error on the second include and indicate that second file could not be opened. Developers can work around this issue by not using relative paths in their #include directives--instead, they should provide those include paths to fxc.exe using the -l switch.
      • The HLSL intrinsic isinf is currently implemented incorrectly for D3D10 targets. Developers may work around this issue by implementing their own function:

        bool isinf( float x )


        if( (asint(x) & 0x7fffffff) == 0x7f800000 )

        return true;


        return false;


      • If you have a loop in your pixel shader, and the compiler generates error X6077 where it previously did not generate this error, try one of the following work arounds:

        • Change the loop to the form "for(int=0;i<cnt;i++)"
        • If possible, unroll the loop using the [unroll] attribute.
      • If D3DXSHADER_USE_LEGACY_D3DX9_31_DLL is specified when obtaining the ID3DXEffectCompiler interface, subsequent calls to CompileEffect and CompileShader by using this interface use the D3DX9_31 code. Newer compilation flags, such as the legacy flag itself, are not valid with these older methods. This behavior is as expected, and will not change in future releases.

      These issues will be fixed in a future release of the SDK.

      Per-Sample Readback of MSAA Render Targets in the Shader not Supported in the Reference Rasterizer

      Starting with the August 2006 SDK, per-sample readback of MSAA render targets in the shader is not supported by the Direct3D 10 reference rasterizer. This issue will be fixed in a future release of the SDK.

      DXGI: Cross-Process Shared Surfaces not Supported in the Reference Rasterizer

      Cross-process shared surfaces are not supported when using the Reference Rasterizer.

      DirectX Extensions for Autodesk 3ds Max and Alias Maya Will Be Removed in June 2007

      Starting with the June 2007 SDK, the SDK will no longer contain any of the extensions for Autodesk 3ds Max or Alias Maya.

      Direct3D 9 Only Version of DXUT Will Be Removed in June 2007

      Starting with the June 2007 SDK, the SDK will no longer contain the Direct3D 9 only version of DXUT found at %DXSDK_DIR%\Samples\C++\Common. All Direct3D 9 samples will switch using the newer version of DXUT which supports Direct3D 9 and Direct3D 10. This new version can be found in the April 2007 SDK at %DXSDK_DIR%\Samples\C++\DXUT.

      Symbols for DirectX

      The latest and most complete source for debugging symbols is the Microsoft Symbol Server. We recommend using the symbol server rather than using the included partial symbols package. For instructions on using the Microsoft Symbol Server, see

      Windows 95, Windows 98 and Windows ME Are Unsupported by the DirectX SDK

      Starting with the December 2006 SDK, the DirectX SDK does not support targeting of applications for Windows 95, Windows 98, Windows 98 SE, or Windows ME. The D3DX DLL does not install or load on these legacy operating systems. To support these legacy operating systems, use the October 2006 SDK or an earlier version.

      Installation Notes for All Platforms

      • This SDK installs on Windows XP, Windows Server® 2003, and Windows Vista using Visual Studio .NET 2003 or 2005.
      • Before installing the current DirectX SDK, remove previous versions of the DirectX SDK.
      • Some samples require that you install the latest Microsoft Windows SDK (Platform SDK) on your system.
      • If you encounter compilation issues related to the DirectX headers, make sure that the include directories in Visual Studio are set correctly. On the Win32 platform, make sure that there is a reference to the DirectX headers. "$(DXSDK_DIR)include" should appear in the include directory "$(VCInstallDir)Include."
      • SDK Installation to a network share is not supported. Some components (documentation and managed samples) do not run.
      • Several virus protection software applications interfere with SDK installation. They may require you to disable virus protection software until SDK installation is completed.
      • If you encounter the error message "A cabinet file is necessary for installation and cannot be trusted" during installation, your system may be corrupted, or cryptographic services may be disabled. To resolve the problem, try the following:

        1. Enable cryptographic services. On the Start menu, right-click My Computer, and then click Manage. The Computer Management window appears. In the left navigation pane, click Services and Applications. In the right pane, double click Services, and then double-click Cryptographic Services. The Cryptographic Services Properties property sheet appears. On the General tab, make sure that Service Status is Started, and that Startup Type is Automatic.
        2. If you are running Windows on a FAT32 drive, run scandisk.
        3. Try the resolution steps in Detecting digital signing issues in Windows XP.
        4. Try the resolution steps in You cannot install some updates or programs.
        5. Remove temporary files in %temp%. If you are installing end-user runtime, also remove "%windir%\system32\directx\websetup Error."
      • External firewall programs may indicate that the file InstallDeveloperFiles.exe wants to access the Internet. This is by design, and should be enabled.

      Installation Notes for Windows Vista

      Running Microsoft_DirectX_SDK.msi instead of setup.exe requires that you run as administrator. If you install by using setup.exe instead of the MSI, you will be prompted for elevated permissions before the installation can succeed.