PDA

View Full Version : Dependency Issues



swells
06-19-2007, 11:43 AM
Hi

I am getting very frustrated with IS2008 - although I am not sure whether it is because I should not be doing things the way I am doing them or whether it is IS2008.

The issues are quite varied, so I shall give one of my issues by example as I believe the answers for one is likely to be similar to all the others.

If I have a single .NET Assembly (say API.dll) which is referenced by a number components. I create a MergeModule for one of those components and it duly recognises that it is using API.dll and includes it in the MSM.

I then go to create another MergeModule for another component also referencing API.dll and it tries to use the previous MSM as a dependency - which I don't want.

So, I go back to original MSM and exclude the API.dll from it, as the application for which it will be used will always have an API.dll of its own, so the MSM itself doesn't need it anyway. This fixes the immediate problem and I also now exclude the API.dll from the second MSM.

But then when I do the MSI that include both these MSMs the main app.exe should have a dependecy on API.dll but it is missing - I assume this is because the exclusion from a contained MSM is somehow causing it to be excluded from the main MSI.

As an aside the MSMs are installed to an alternative ModuleTargetDirectory, so the fact that some of the mergemodules may contain the same assemblies should be fine as they won't get installed to the same location as each other.

The issue become all the more frustrating when I need to exclude a MSM from the dependencies because I don't want one of the files (say this API.dll) but of course this means I am going to be missing any other common files too (such as shared controls from Infragistics).

How am I supposed to cut these MSMs up? Am I really supposed to create a myriad of MSMs that never include a shared assembly and instead always use a MSM that has it in - and if it does use an MSM will it know not to bring in the rest if the MSM?

Thanks