In several months ago I posted a patch for VC++ 2008 Express to enable its x64 and IA64 targets (by default this free edition of VC++ only supports x86 targets). It used to work with Windows SDK for Windows Server 2008 and .NET Framework 3.5 nicely, but now as Windows SDK for Windows 7 and .NET Framework 3.5 SP1 has been released, it cannot work sometimes, so I decide to update this patch for the new SDK.

I have to mention that Microsoft introduces 2 new bugs in Win7 SDK:

1. If you are running a x86 machine, the x86 version of Win7 SDK will not install x64 and IA64 tools anyway, even if you have selected all checkboxes during the setup.

Workaround: repair the installed Win7 SDK (from control panel), and check all these checkboxes again, then you get all x64 and IA64 tools back. (note: don't try to install x64 SDK to a x86 machine, setup program will fail)

2. After the Win7 SDK (x86/x64/IA64 all versions) is installed, the Windows SDK Configuration Tool will not register the latest v7.0 SDK as system default (instead it still uses v6.0A). As a result VC++ will not be able to locate x64 and IA64 tools (compliers etc).

Workaround: launch the Windows SDK Configuration Tool from start menu, choose the right version (v7.0), and click "Make Current".

Now you can download and install the new patch here. I have tested it on clean x86 and x64 machines.

I removed the two DLLs from x64 package (VCProjectAMD64Platform.dll and VCProjectIA64Platform.dll), because Win7 SDK will copy correct ones (Microsoft has fixed this bug in Win7 SDK).