From what I understand, the ideal way to prepare builds using Visual Studio is to use a single build machine. That means, while the developers go through development process using their respective machine, the build isn't prepared from any of those machines and a build PC is used instead.

Under this condition, is it necessary to check-in(using TFS as example here) the setup project. There isn't any version controlling on that particular project as any required change would be done in the build machine itself, and this isn't of any concern to others.

3 Answers 3


Definitely Yes Yes Yes.

Apart from the normal SCCS reasons of being able to build an old version it's invaluable for discovering why something suddenly won't build because some option flag 10 levels down in a menu tree changed.

In the paranoid old days we used to have the projectfile and the MFC resource files checked in automatically after every successful build - just because things would randomly corrupt and it was the only way to know what had actually changed when the gui claimed nothing had.

ps. on VS2010 you need to check in the .sln .vcxproj and vcxproj.filters


Setup projects are configurable (install location, shortcuts, etc.) and therefore a likely candidate for source control.

That information is all stored in the Setup project and you may one day need to revert to a previous version.

Note that the binaries whose source code you control that the Setup project targets should NOT be in source control.


Anything you require to build your software application should be stored in source control, whether it's used by developers or by a build server. This way you can track any changes that are necessary to build your application. Also, if something happens to your build machine you may lose the setup project you depend on if it is not under source control.

So in short, yes, add your setup project to source control.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.