前言:将买来的第三方控件通过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:哈哈哈.