Setup Projects are Great, Until Visual Studio Corrupts Them
September 28th, 2006I have often created MSI installers for applications to make it trivial to install and uninstall an application. I created an installer for Notepad2 because the author was just distributing the binaries and since it was so easy to do. But there are a couple of major problems.
For starters, the Setup project type is not supported by MSBuild. This means you cannot automate the creation of an MSI installer as a part of your continuous integration builds unless you install Visual Studio onto your build server.
Next, once you do work with your Setup project for a while it will become corrupt so that it becomes unusable. I had dealt with this problem the last 2 years thinking that somehow I was not setting up my relative references properly, but it turns out there is a bug in Visual Studio causing it. You can read about the bug yourself in KB917036.
Evidence of the bug comes with this build error.
Unable to update the dependencies of the project. The dependencies for the object 'name.dll' cannot be determined
Fortunately there is a hotfix. Unfortunately, I have no idea how I am supposed to get the hotfix! The knowledge base page sends troubled users to a general contact page instead of a specific contact which would be appropriate to address this issue. This is very disappointing.
So I dug around for the Visual Studio Blog. I found this one. It is for Visual Studio and Office so sent a message through that site only to get an email error back saying the user was not found. I do not like dead ends.
Now I am stuck. I may just attempt to fix the Setup project file manually and hope that Visual Studio does not corrupt the file again for a while.

October 9th, 2006 at 1:13 am
One workaround is to delete *all assembly references* from the "File" section of the setup project file. All this reference start with a GUID reference and end with the "IsolateTo" property.
Rebuild and the setup project will be build correcly.