29

I have a Setup deployment project in VS 2010. The project compiles perfectly with the GUI interface of VS 2010, but any time I trying to compile it via vs cmd (devenv.com) it comes up with this error:

ERROR: Unable to update the dependencies of the project.

Notice that there is NO dll that mentioned in the error (e.g. the error does NOT contain "The dependencies for the object ‘xxx’ cannot be determined").

Please do not tell me to clean all the files in this setup and start from ground up - this is not a real solution! I have 5 projects with this exact error, and I don't want to re-arrange each one. More then that, this does not promise me that the problem will not re-occur in the future.

Thanks very much!

Orad SA
  • 1,885
  • 5
  • 16
  • 16

6 Answers6

50

I used to rebuild these installer projects from scratch when they stopped working (for whatever reason), but I've found a much much quicker (and less error-prone) workaround. It works for me. Maybe it will work for you.

  1. Remove the Installer project from your solution through the IDE interface
  2. Add the Installer project back into your solution (Add > Existing Project...)
  3. Rebuild

It works practically every time for me...

ΩmegaMan
  • 29,542
  • 12
  • 100
  • 122
John Kroetch
  • 1,143
  • 8
  • 15
  • This worked for me as well although afterwards I had to fix the shortcut targets for the desktop and program menu. – bic Jul 14 '14 at 14:44
  • Yes, sometimes I have to relink a couple of things, but it sure saved me tons of time & wasted debugging effort. :) – John Kroetch Jul 31 '14 at 16:51
  • 2
    I didn't believe this approach first, however, "removing the erroring .vdproj and then adding the existing .vdproj project again" approach worked for me. – Sandeep Nov 10 '15 at 15:46
  • 1
    Just had the same issue in Visual studio 2010 removing and adding the setup project worked perfect for me – David Fawzy May 30 '16 at 09:02
  • 1
    Same comment as Sandeep, didn't believe it would work until, boom that is all there was to it. – AXMIM Jul 14 '16 at 20:48
  • Thank you for this response! Only difference for me was, I had to remove the csproj that was causing the issue when building the vdproj. Of course, removing the csproj, the primary output was removed, so I had to make sure to re-add the primary output to the vdproj's file system editor. – Matthew Nov 09 '21 at 21:53
29

The hotfix didn't fix the issue on my computer (tried on two computers, rebooted all that jazz)

Instead I used source control to figure out what happened to my .vdproj.

It appears extra corrupt entries are added to the "File" section of the .vdproj.

Suppose you are getting an error such as

ERROR: Unable to update the dependencies of the project. The dependencies for the object 'AutoMapper.DLL' cannot be determined.

In your .vdproj search for AutoMapper and you should come across several { } where it is used.

A normal one looks like this:

        "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_263299FB43D185D41A44FBEE0253D3ED"
        {
        "AssemblyRegister" = "3:1"
        "AssemblyIsInGAC" = "11:FALSE"
        "AssemblyAsmDisplayName" = "8:AutoMapper, Version=1.1.0.188, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL"
            "ScatterAssemblies"
            {
                "_263299FB43D185D41A44FBEE0253D3ED"
                {
                "Name" = "8:AutoMapper.DLL"
                "Attributes" = "3:512"
                }
            }
        "SourcePath" = "8:AutoMapper.DLL"

whereas a corrupt chunk is missing the name of the dll (AutoMapper.DLL in this case) in the ScatterAssemblies section.

Remove this corrupt entry, that is the entire section starting from "{9F6F8455-.. down to the next chunk.

wal
  • 17,409
  • 8
  • 74
  • 109
  • For me, this was helpful but not enough. Then I had to open Detected Dependencies in Solution Explorer and then do Exclude for all the DLLs in the list. After that, it built successfully. – Alex Oct 20 '15 at 10:52
  • 2
    This issue cropped up for me after resolving a marathon merge conflict, and I had two sections with empty ScatterAssemblies sections. The remove and re-add installer answer didn't fix the issue for me. – Neil Stoker Apr 21 '17 at 13:44
5

I fixed this by editing the vdproj by hand and removing the Hierachy and File sections and then rebuilding the vdproj

see: Setup project error: Unable to update the dependencies of the project

ΩmegaMan
  • 29,542
  • 12
  • 100
  • 122
timB33
  • 1,977
  • 16
  • 33
2

This worked for me:

  1. Run a clean solution command from VS2010
  2. Open source code folder in explorer
  3. Search for *.exe files, sort by location
  4. Manually delete all files in Release folder

If there exists some_project.vshost.exe locked up file, open properties of this project in VS, and uncheck "Enable the Visual Studio hosting process" under debug. Then remove it as well. It should build now.

boateng
  • 910
  • 11
  • 21
  • To delete my locked files, I closed VS, deleted, then restarted it. That makes me wonder, however, if simply restarting VS would have fixed it (it does fix weird errors sometimes...) – David Aug 11 '15 at 22:32
2

This is copied from @timB33's external link, which works. All links to the MS hotfix appear to broken, so this was the only way I could find to fix without removing and recreating the setup project.

I have consistently used this method to get around this bug instead of rebuilding my setup projects. This applies to both merge module projects AND setup projects. Manually remove the data in the Hierarchy and Files section of the project files.

  1. Open .VDPROJ file

  2. Find the "Hierarchy" section. Delete everything so the section looks like this: "Hierarchy" { }

  3. Find the "File" section. Delete everything so the section looks like this: "File" { }

  4. Reload the project

  5. Rebuild the project.

  6. You may need to re-add project outputs if missing something

gbro3n
  • 6,729
  • 9
  • 59
  • 100
1

support.microsoft.com/kb/2286556

thanks Hans, this update fixed my problem.

Orad SA
  • 1,885
  • 5
  • 16
  • 16
  • Thanks @BrainCoder - I restarted then then got TFS errors when I tried to build the MSI. Once I checked-out the MSI project it started working. (I'm guessing you don't need the hotfix if you have SP1). – PeterX Mar 21 '14 at 07:00
  • 2
    Hotfix link is broken – gbro3n Oct 07 '15 at 09:07