My favorite Beta 2 feature by Chris Hubbard, Test Engineer on the Windows Vista SDK Team.

When asked to write an entry for our team's site, I started to think about what I really want our users to know for Beta 2.  There is lots of new technology in Windows Vista and some very cool graphical features that are useful and impressive... but I am kind of a simple person who really really likes it when a company nails the basics.  One of the basics that we had nailed for previous SDKs (such as Windows Server 2003 SP1 SDK) is that we had a program that integrated the SDK with Visual Studio so that users could compile code within Visual Studio using Operating System headers and libraries.  Similarly, code (specifically the samples that ship within the SDK) could be compiled within a SDK build environment window that used Visual Studio headers and libraries (ATL/MFC).

Alas, the incarnations of the Windows Vista SDK up until this point haven't had a nice program that would integrate the SDK and Visual Studio.  These instructions had to be followed:


Using the Windows SDK to develop Win32 C++ applications with Visual Studio 2005 requires a workaround

There is a known issue with adding the Windows SDK library and include path information to the user's Visual Studio 2005's directory paths. Using the Windows SDK to develop Win32 C++ applications with Visual Studio 2005 requires the following workaround.


Manually add the path to the Visual Studio 2005 path information.

NOTE The path given assumes the Windows SDK was installed on your C drive. Please change appropriately.

  1. Start Visual Studio 2005.
  2. From the Tools menu, click Options, click Projects and Solutions, and then click VC++ Directories.
  3. In the "Show Directories for:" drop-down list, select Include Files.
  4. Include the following by selecting each of these directories by using the up arrow button to move them to the top of the list:
    • C:\Program Files\Windows SDKs\Windows\V1.0\VC\INCLUDE
    • C:\Program Files\Windows SDKs\Windows\V1.0\VC\INCLUDE\SYS
    • C:\Program Files\Windows SDKs\Windows\V1.0\INCLUDE
    • C:\Program Files\Windows SDKs\Windows\V1.0\INCLUDE\GL
  5. Select the following Library Files from the "Show Directories for:" drop-down menu by using the up arrow button to move them to the top of the list:
    • C:\Program Files\Windows SDKs\Windows\V1.0\VC\LIB
    • C:\Program Files\Windows SDKs\Windows\V1.0\LIB
  6. Select OK.


UGH!  As a person that has to install the SDK and integrate it with Visual Studio 2005 two to three times a week, this became tedious at best.

            But Now!  YES NOW!  The sun is shining (even here in Redmond) and the birds are chirping because the SDK once again has a VCIntegrate.exe that works with Visual Studio 2005.  There is a slight glitch that you need to have run Visual Studio prior to running VCIntegrate for the SDK headers and libs to be added into the Visual C++ paths, but that is more of an issue for me (who is doing fresh installs of VS and the SDK repeatedly) than for you, the user who will probably have used their Visual Studio installation repeatedly.  I'd like to think that this glitch is just so we have room for improvement between Beta 2 and RC1/RTM.

            There are some caveats that should be noted.  The first is that on Windows Vista, you will need to run VCIntegrate with elevated permissions if you have LUA/UAP turned on.  This is because the program is writing to files in \Program Files.  The second is that the dialog that pops up to integrate Visual Studio into the Windows Vista SDK and the dialog to integrate the Windows Vista SDK into Visual Studio are similar to the point that they look nearly identical.  If you have VCExpress 2005 installed as well as Visual Studio 2005, you'll see three very similar looking dialogs.

            Also, if you decide that you don't want the SDK integrated into Visual Studio, there is a way to unintegrate (disintegrate sounds so... destructive!).  Go to %InstallLocation%\Setup in a command prompt and run VCIntegrate.exe -u (-h brings up help).  No fuss, no muss!