by investigating the project i try to understand the references as to how they were added, as project or as dll.
Only difference i found is in the properties of the references in the solution explorer. if a reference added as a dll, it has one more property named specific version. compare the images i attached.
I dont know if i can rely on this finding though.
When you create a smart cab project(probably the same in setup project), if your referencing project does not use any namespace or class from the referenced project, smart cab project wont output the referenced dll although it appears in the detected dependencies section.
>> by investigating the project i try to understand the references as to how they were added, as project or as dll
Its the same thing. The "SpecificVersion" doesn't appear in your referenced projects because it knows the version since it is part of the solution and compiled with your project, it merely pulls out the version at compile time. What are you trying to do here?
The .msi installer auto-detects dependencies but excludes dependant DLLs that are part of the .NET framework. If you're not using the standard MSI builder then that functionality is not included which I am guessing is there case here. There are dependency walker utilities out there that will do this for you but I think you have to pay for them. The properties available to each library also depend on the type of library it is.
Add a reference to:
What i noticed is, after you build the smart cab project, you need to refresh dependencies by right clicking and selecting refresh dependencies from the context menu. then you need the build once more, then it really embeds the dependencies. it is wierd again but it solved the output problem.