Visual Studio 2012 and Windows 8.0 SDK RTM are now available

The Windows SDK for Windows 8 (aka Windows 8.0 SDK) RTM version is now available on MSDN. See Where is the DirectX SDK? for details on DirectX content in the Windows 8.0 SDK. This includes the D3DCompiler_46.DLL release of the HLSL compiler, DirectXMath version 3.03, DirectX 11.1 headers/libs, and the GDF tools.

The Windows 8.0 SDK is included with Visual Studio 2012 (build 50727.1), which is now available on the web. See the Visual Studio and VC blog announcements for more information, as well as the ReadMe.You can find a list of compiler bugs fixed, Standard Library bugs fixed, and MFC bugs fixed for Visual Studio 2012 as well. As noted on the VC Blog, support for targeting Windows XP with VS 2012 and the Desktop Express edition will be coming soon. The Visual C++ 2012 CRT redistributable packages are on MS Downloads.

Note that the RTM version of Windows 8 (build 9200) is available for download for developers with an MSDN Subscription or TechNet Professional Subscription. General availability will be on October 26, 2012. For developers of Windows Store apps (a.k.a. Metro style apps), details on migrating your application to the RTM version are covered in this migration guide. There was a change to the CSRR rating system between the Release Preview and RTM as well.

Update: VS 2012 Express for Windows Desktop is now available. Support for Windows XP is available with VS 2012 Update 1. See also VS 2012 Update 2, VS 2012 Update 3, and VS 2013 and Windows 8.1 SDK RTM.

System requirements: The Windows SDK for Windows 8 can be installed on Windows 7 and Windows 8. It's the same system requirements as Visual Studio 2012 which includes the new Windows SDK. You need Windows 8 to develop Windows Store apps, but you can use Windows 7 and the Windows SDK 8.0 for development of Win32 desktop applications for Windows 8, Windows 7, Windows Vista, and their Windows Server equivalents.

VS 2010 users: You can use the property sheets as described in the Visual C++ Team blog post to use the Windows 8.0 SDK. The .props files are attached to this post as well. Note you cannot target Windows XP with the Windows 8.0 SDK.

The VS team's instructions omit including the "include\winrt" directory under the assumption that those are for Windows Store apps only, but that's not strictly true. At a minimum, having access to #include <wrl/client.h> provides you the extremely useful Microsoft::WRL::ComPtr smart-pointer that works perfectly fine in Win32 desktop apps and down-level systems.

Direct3D Debug support: Installing VS 2012 or the Windows 8.0 SDK also installs the Direct3D 10.x and Direct3D 11.x SDK Debug Layers on Windows 7, Windows 8.0, and the Server Equivalents for using D3Dxx_CREATE_DEVICE_DEBUG. Note that this is not the correct version for Windows 8.1, see Visual Studio 2013 and Windows 8.1 SDK RTM are now available.

Comments (9)

  1. Glenn Wilson says:

    Thanks, There goes todays planned work… 🙂

  2. Aras Pranckevičius says:

    Any details on what has been changed / fixed in d3dcompiler_46.dll compared to 45.dll?

  3. turtlek says:

    What has happened to the Directx 9.0 SDK August 2007?  I need a copy pretty desperately

  4. Many older downloads have expired and been removed from MSDN Downloads.

    I'm guessing you might be wanting to use the "Dark SDK". That product makes use of DirectPlay and some other strongly deprecated headers. They should really update it to use something newer.

    In any case, you can look for an unofficial mirror of it somewhere. Be careful to scan it for viruses or other malware.

    There are also some community work-arounds for using newer DirectX SDK's be eliminating the use of DirectPlay and then a hack to copy a copy of DXERR.LIB as DXERR9.LIB.

  5. Was wondering if you could point me in the direction of some help, although I've spent a number of hours searching already. I wouldn't claim to be a guru on VS, MSBuild and build related stuff in general but have spent many years in this area and have, I think, a pretty good understanding.

    My situation. I have a Window 7 box on which I have Visual Studio 2010 and DirectX SDK June SDK installed. I have a Direct X 10 project which compiles and build fine.

    I installed VS 2012, alongside VS2010, upgraded my VS project files and tried to build, and got warnings/errors about macros being redefined, appearing in both c:program files (x86)microsoft directx sdk (june 2010)includedxgitype.h and C:Program Files (x86)Windows Kits8.0Includesharedwinerror.h. So I found this…/ee663275%28v=vs.85%29.aspx and this…/where-is-the-directx-sdk.aspx and some other locations and spent a long time messing with include paths and other build related stuff to try to get things to build with no joy. Note the VS2010 build still works fine which is great.

    Firstly is building DirectX on Windos7 using Visual Studio 2012 really supported?

    Second assuming it is, is there any decent documentation on how to do it? I mean specific documentation about building DirectX apps on Windows 7 using VS2012, preferably assuming they were built with VS2010 before.  

    Third assuming there isn't any decent documentation I would strongly suggest MS writes some. Despite MS obviously wanting to move everyone to Windows 8 the real world I live in is that most major corporations have only just or are still in the process of upgrading to Windows 7 so Windows 8 is years away. Therefore most software companies like my own will stay on Windows 7, but we would love to upgrade to VS 2012.

  6. The instructions on MSDN are pretty detailed. Make sure you walk through them all. Yes you can build Windows 7 compatible DirectX applications using Visual Studio 2012. Assuming you are starting with a June 2010 DirectX SDK sample, you can follow the instructions on MSDN to get it to build properly.

  7. xoofx says:

    Hi  Chuck,

    I have one question concerning "D3DCOMPILER_46.DLL". In the doc "Where is the DirectX SDK?", it is stated that D3DCOMPILER_44.DLL can be redistribute with an exe, but I'm not sure for _46.dll?

    If _46 is no redistributable, does it imply that under desktop, a program should install the Windows 8 SDK in order to use this dll at runtime, even if it is an application that doesn't need the whole Windows 8 SDK?

  8. I addressed this in a comment for…/hlsl-fxc-and-d3dcompile.aspx  With the DirectX SDK, you had to redist the various DLLs using the DirectSetup package. With the Windows 8.0 SDK (#44 – #46), you redist the 'naked' DLL with your Win32 desktop application.

  9. xoofx says:

    Great, thanks for the link.

Skip to main content