Parecchio tempo fa Visual Studio ha smesso (giustamente) di integrare il Windows SDK e i pochi file che ancora vengono installati sono il minimo set necessario. La versione minimale installata da Visual Studio è in una cartella con la "a" finale:
- C:\Program Files\Microsoft sdks\Windows\v6.0A => Visual Studio 2008
- C:\Program Files (x86)\Microsoft sdks\Windows\v7.0A => Visual Studio 2010
Poi c'è la versione full del Windows SDK che include anche il Framework 3.5 SP1 SDK e vale il download. In questa versione ci sono più tool e la serie completa dei file di include di Visual C++, le type library IDL e molto altro ancora. Anche se non si sviluppa con C++ le include sono preziosissime, anzi indispensabili, se si vuole usare via PInvoke le API di Windows o se si usa l'interoperabilità COM.
Infine ci sono tutti gli esempi del Framework 3.5 SP1 che comprendono WPF, WCF, WF, C#, VB, etc. etc. Parliamo di 100MB di ZIP di sorgenti più tutti gli esempi della API di Windows che sono a parte (11000 file circa).
Semmai qualcuno volesse ricompilare uno degli esempi in C++, bisogna dire a Visual C++ di scegliere le librerie installate dal Windows SDK invece di quelle di default (installate da Visual Studio). A questo scopo esiste il tool WindowsSdkVer.exe che si trova nella sottocartella "setup" rispetto all'SDK installato.
Questo tool ha una doppia veste: console e GUI. Io l'ho lanciato da GUI e da combo box ho scelto la versione 7.0 (non 7.0a che è quella di Visual Studio 2010) con il Windows SDK 7. Il risultato è stato un bel messaggio in cui mi dice che non può eseguire alcun cambiamento.
Probabilmente questo errore è dovuto all'installazione di Visual Studio 2010 che è ancora in beta ma se doveste incontrare l'errore la soluzione (suggerita dal team del Windows SDK) è quella di lanciarlo da command prompt:
> WindowsSdkVer -version:v7.0
In caso di panico è meglio dare subito un'occhiata al blog del team di Windows SDK che ha preziose informazioni sulla convivenza dei toolset.