We had a problem recently – after migrating a wpf project to .net 4.5 it stopped building on the build server. The .net framework 4.5 was already there, windows sdk as well but that wasn’t enough. It’s important to note that visual studio 2012 was not installed on the server and I wanted it to stay that way.
The solution was to copy over some files from the dev machine (whole c:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A dir) and adding the following key to the registry:
with a string value named Path and the following data:
1: C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\
Works now, I’m happy but… let me take a moment here to complain a bit, cause I believe that someone dropped the ball here.
It’s a well known and commonly used practice to keep the build server clean of any development tools (like visual studio) to avoid cases such as this or this. But it turns out that even after installing the SDKs you still don’t have enough tools to actually build the software. Well, that’s not entirely accurate cause you can build it per se, but you can’t well, ship it (the described error was raised when a ClickOnce installer was being built) – and that sucks.
It took some time to get to the point where we were before the update and well, that’s life, but I’d rather not have to worry on things like that – especially that they can be easily fixed somewhere at the source.
Lesson learned – be pragmatic, install visual studio on the build server and if your conscience starts to bug you – walk it off.