In a VS Setup project, how can I exclude the dependencies of a project from the MSI?

Cheeso picture Cheeso · Nov 21, 2009 · Viewed 8.5k times · Source

I'm working in C#. I have a small VS Solution with 4 projects:

  1. a DLL
  2. an EXE that references the DLL
  3. a merge project, that does nothing more than ILMerge on the assemblies from the prior two steps
  4. a setup project, that packages the .EXE output of the Merge project. (I've added the "Primary Output of a Project" to the setup, specifying the Merge project here)

The problem is, the setup project automatically detects the projects #1 and #2 as dependencies for project #3. When I include the primary output of the 3rd project into the MSI (Setup project), the dependencies are automatically dragged in as well. I don't want this.

How can I stop it?

I tried specifying an "Exclude Filter" but couldn't get that to work. No matter what I tried, the dependencies always got dragged in.

alt text

I tried manually modifying the Setup.vdproj, to remove the auto-detected dependency projects, but when I re-loaded the .vdproj in VS, the auto-detected dependencies came back.

help?

Answer

Cheeso picture Cheeso · Nov 21, 2009

I hate when that happens. I figured it out 3 minutes after I asked the question.

You can just right click on the detected dependencies, and in the properties window, specify "Exclude = True"

alt text