views:

182

answers:

4

Should I include dependencies when I do releases for my common projects such as CommonUtils or should I simply specify which dependencies should be referenced when they are to be used?

A: 

I always create two versions (might not be the perfect solution). One with only my own code and 3-tier party dll used. And a bigger version with all the Framework. This way if it's deploy on a new machine I know I will be fine. Otherwise (if update or on a machine I know that dependencies DLL are already there) I use the lite release.

Daok
A: 

I would always include dependencies where legal and practical.

Dependencies will not always be in the GAC and you will be easing the deployment of your software.

Rory Becker
A: 

I would include the dependencies with your release. When you release you want to control how your application executes and how it behaves. If a user is required to install the dependencies, then they might choose a compatible version, however it might not do X or do X differently. Which will change the way your application behaves and increase application support and maintenance.

Chris Roland
+1  A: 

You users do not want the work if figuring out your dependencies.

  • What packages do I need?
  • What if it's not available? (dead server, provider out of business)
  • What version of each one do I need?
  • What if it's not available? (new version)
  • How do I download each one?
  • How do I install each one?

Protect your software from disappearing/unavailable dependencies. Protect your users from the pain of figuring this stuff out.

Make your uninstaller do the right thing: remove things you installed, if they're not shared. (That can be hard).

Jay Bazuzi