Suppose I have released an application that uses an assembly that is in the GAC.
At a later date, I have a new version of the assembly. Do I remove the original version and install the new one or do I install the new one and make sure the application references it (via version numbers??).
What if I want older versions of the app to use the version they were installed with, whilst the new version of the application should use the new assembly?
You can use a publisher binding policy to specify the range of versions your app is allowed to use. You can upgrade the policy with each new release. Do not uninstall old versions (unless they are very bad).