PDA

View Full Version : dll's in Global Assembly Cache are removed during upgrade



cgroscost
10-25-2004, 12:15 PM
I have an install which places dll's into the Global Assembly Cache. When I run an upgrade on the previous install, the upgrade works for all other files except for the dlls in the GAC. The dll's in the GAC are being removed during the upgrade process and then are not re-installed with the rest of the files. Is anyone else having a similar problem? Anyone have an idea how to fix this problem?

Thanks for any comments...

Mike Marino
11-09-2004, 01:58 PM
One thought we had about this over here, is that it may be related to using the same component GUID for the file that goes to the GAC.

If you built your setup with a previous version of Express, and now are using the same project file for the new version, that might explain it. To change the component GUID of a file, delete the file from your setup, and re-add it.

cgroscost
11-10-2004, 06:55 PM
Mike,
Unfortunately, my project was not created using a prior version of express, both the original install and all upgrades have been built using ISExpressX. However, just as an attempt I deleted and re-added the assembly dlls. But to no avail, I am still having the same issue. One thing that I did find that solved the problem was to set the properties on the dlls to permanent. Unfortunately, that means if our endusers ever decides to uninstall our product the dlls will be left behind. Which of course is not a popular option with management.


One thought we had about this over here, is that it may be related to using the same component GUID for the file that goes to the GAC.

If you built your setup with a previous version of Express, and now are using the same project file for the new version, that might explain it. To change the component GUID of a file, delete the file from your setup, and re-add it.

Mike Marino
11-10-2004, 09:13 PM
Have you tried to run a log of the installation? That might point at what the problem is.

angusyoung
11-23-2004, 09:58 AM
Hi all,
I'm having the same problem as Mike and created and verbose log of the installation process.
I investigated the logfile using the WILogUtl Tool from Microsoft Platform SDK and found the following:

The Compontent State of the Component which installed the assembly to the GAC is:

MSI (s) (50:68): Component: GAC_AppDll; Installed: Absent; Request: Local; Action: Null

Because of Action being Null, the Assembly doesn't get installed once again in the Major Upgrade, but why is it set to Null and not to Local as it should be?

Any ideas?

Thanks
angusyoung

pjflickinger
06-08-2005, 11:29 AM
Did anybody figure this one out??
It is a problem in DevStudio 9.X as well... Just wondering if a fix was ever found...

angusyoung
06-09-2005, 01:51 AM
Hi pjflickinger,
i did't find a solution in Devstudio, but did the following workaround:

I copied the assemblies to a location on the disk (e.g SUPPORTDIR or a directory within the installed application) along with the gacutil tool and then called gacutil from a script. Worked fine.

pjflickinger
06-09-2005, 07:43 AM
thanks. i was thinking about that. good to hear it worked for you.

nitsev
02-01-2006, 02:58 AM
http://support.microsoft.com/default.aspx?scid=kb%3Ben-us%3B905238