This is for all the people who come here to look for a solution!
Well, I had the same problem as mentioned above, but the DLL I wanted to avoid was the detected deprivation (my project A depends on B.dll, which has a dependency on C.Dll (2.0.0.0)), but I dont want C.dll (2.0.0.0) in my MSI (since I have a direct dependency on another version of C.dll (1.0.0.0)). I tried to exclude the DLL, but this will not work, since VDProj updates the dependency every time I reload the project and add the detected dependency back.
Microsoft's solution was to make the CopyLocal property false for the linked DLL, I had so many of these DLLs, and I didn’t want to go into every project and update it (since this could trigger testing efforts for heaven, because which, according to testers, the code for a large number of projects is practically changing). Therefore, I worked on this by adding a specific DLL (C.Dll (1.0.0.0)) to the installation project manually. Just right-click the installation project and select the file.

also do not forget to specify the location where you want the file to be deployed, in my case it ended up in the BIn folder.

This file will override all other detected dependencies (with a similar name) and will be deployed to the location we specified.
source share