We have systems built upon shared libraries, which are maintained by a group of programmers. We install these to the GAC on
production servers. For saftey, when a programmer uses one of these libraries in a project they will GET-LAST-VERSION from
SourceSafe, and build the library. With version as "1.0.*", and new numbers are assigned during build. They include the library in
their kit. What happens from this is we keep getting addtional GAC entries, when in fact, many of them are from the same software
source revision.
Studying the documentation, we decided to always assign our own assembly version, such as "1.0.4.3". Our intention is to bump the
numbers ONLY when a change is made that is NOT upward compatible. This of course results in a new GAC entry, and this is fine.
But when a functional change has been made in the library, which is upward compatible (typically a FIX to some routine, without
changing the public interface), we would like the kit to REPLACE the existing "1.0.4.3". To do this, and according to documentation
we need to 1) Set RemovePreviousVersion to True, and also advance the PackageCode property. You can not manually advance it, but it
is supposed to advance itself on each build. But what we find is that after installing the kit, the original version continues to
be in the GAC. This is evidenced by looking at the MODIFY-DATE property, found by browsing to the Assemblies folder in WINNT.
The behaviour seems contrary to the documentation. Is this a known bug? Do we misunderstand the documentation? If so, how can we
ensure replacement of upward compatible libraries. When we have a fix we want to install the library along WITH the current product,
and ensure that other previously installed products which share the library, also get the benefit of the fixes. How can this be
done?
TIA - Best regards, Lee Gillie - Spokane WA