Used to happen to me a lot - install product A and it works, install product B and while it now works, product A is broken. My understanding is that Microsoft solved this problem by approximating containers - they now keep all versions of all libraries needed by an app in the bin directory for the app. Smart move even though it wastes a bit of space. The install phase of the build process creates the list of all versions of the needed libraries so when you install, you get everything you need.