views:

217

answers:

1

We recently put out an update of one of our apps with a "test" DLL from a third party. The third party does not update their assembly versions on the dll's, only the file versions, so multiple apps can reference different "versions" of it. However, the GAC still allows us to keep the newest version, because it also checks the file version which is always updated.

What happened is we were not ready to release this DLL, but it got out there on some customer machines. I would like to put our current live version back out there, but it has an older file version (and the same assembly version) as the test DLL. We have multiple apps referencing this DLL, so I can't simply delete it and drop in the new one.

Is there a way to replace the DLL in the GAC? I'm using installshield 2009. Perhaps some sort of custom action upon install?

A: 

Could you do following

  1. Verify with respect of gacutil.exe /lr that there are no reference to the old version of the DLL
  2. Verify that there are processorArchitecture information about the old version of the assembly in MSI package. (see http://community.flexerasoftware.com/showthread.php?t=154839&page=2)
  3. Verify that old version of your DLL will be removed during deinstallation.

Look at http://kb.flexerasoftware.com/selfservice/viewContent.do?externalID=Q111094

Oleg