Should I install an SDK on the build server?
build-automation, build-process, c#, cruisecontrol.net, msbuild
Solution
The best way to do it would be to store everything needed to make builds in source control. When doing that you don't need to go through all your build servers when your build chain is updated, it will happen automatically. An added advantage is that you can go back in time and still be able to get everything built without needing to delve into all your old CDs to find the tools you need to build old versions of your product.
However, this might not be possible for all build tools. For example we tried to do it with Visual Studio 2005, but we got weird intermittent pdb errors from mspdbsrv when building from a non-installed tool chain. So unfortunately all our build servers all have VS2005 installed (but not the PS3 tool chain, which is really really nice since it's updated quite often).
Regards,
Sebastiaan
Problem
(this is a .net build server) I'm getting the following error: ``` c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets(1679,9): error MSB3091: Task failed because "LC.exe" was not found, or the .NET Framework SDK v2.0 is not installed. The task is looking for "LC.exe" in the "bin" subdirectory beneath the location specified in the SDKInstallRootv2.0 value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework. You may be able to solve the problem by doing one of the following: 1.) Install the .NET Framework SDK v2.0. 2.) Manually set the above registry key to the correct location. 3.) Pass the correct location into the "ToolPath" parameter of the task. ``` This is because we are using a component that requires LIC.exe to compile. now I can solve the problem by installing the latest Microsoft SDK on the build server, but I thought the whole point of a build server is to not have your dev tools installed on it. I think I can probably solve this but not after some work figuring some things out (like these guys did) http://richardsbraindump.blogspot.com/2009/07/some-teambuild-fun-and-games.html should I install the SDK? and more importantly: What is the primary purpose of a build server?