解决软件升级过程中GAC发生的问题.

前言:将买来的第三方控件通过MSI(MS自带的安装工程)安装到GAC中.
后续:第三方控件升级,我们的将客户安装的客户端通过覆盖的方式进行升级。

C:小Y,测试一下升级程序。
Y:哎呀,覆盖后程序报错,不能运行了。

C:哪里的问题。
Y:可能是GAC中没有新控件.

C:那就安装新控件到GAC中呀.
Y:gacutil /i DevExpress.Data3.dll


C:还有问题吗.
Y:靠,还报错.

C:是不是新程序还访问的是老控件.从GAC中删除老控件程序集.
Y:那好我删除所有的,然后安装新的.gacutil /u DevExpress.Data3.dll

C:好了吗.
Y:我看看.GAC中还有.


C:直接中GAC中删除.
Y:删除不了.在删除GAC目录中的程序集时报"Assembly'...'could not be uninstalled because it is required by other applications."


C:我到网上找一下.GAC的目录的特点.
C:找到了.你通过DOS去删除.
    SET GACPATH=%windir%\assembly\GAC\
     rd /s /q %GACPATH%DevExpress.XtraEditors.Core
Y:真的删除了.再重新安装.gacutil /i DevExpress.Data3.dll

C:还有问题吗.
Y:哭,还报错.

C:哦,刚才无法从GAC中删除,是因为被引用了,加上引用.
Y:好.
    gacutil /i DevExpress.Data3.dll /r FILEPATH "%APPPATH%my.exe" myexe

C:还有问题吗.
Y:搞定了.

C:Y:哈哈哈.

posted @ 2006-03-07 09:15  I'm CY  阅读(766)  评论(2编辑  收藏  举报