Installshield强制将GAC组件替换为具有相同版本的组件

时间:2013-01-02 12:13:08

标签: installshield gac

我有一个名为A.dll版本3.303.1.1的.NET DLL 我得到了一个带有补丁的新A.dll,但它有与我的应用程序即将推出的版本一样的版本3.303.1.1。

我需要做的是在安装过程中强制用GAC中新修补的A.dll替换旧的A.dll。我正在使用Installshield来创建安装程序。

DLL是应用程序所需的第三方DLL。 旧DLL的File版本也是3.303.1.1;但对于新的DLL,它是3.3.1.1。

假设应用程序的旧版本仍然安装,并且应该在我们使用新安装程序安装新版本应用程序时保留。

所以旧版本也应该指向新的dll A.dll。

如何使用Installshield(2011)自定义设置以实现此行为?

我的试验: 当我只是将新DLL添加到安装程序并尝试将其安装在已安装旧版本应用程序的机器中时,新的DLL未安装在GAC中,因为两个DLL的版本相同。但是,当我使用GACUTIL.exe强制安装新的DLL时,我能够这样做,旧的DLL被机器中的新DLL替换。

谢谢。

1 个答案:

答案 0 :(得分:0)

使用递增的AssemblyFileVersion重建DLL,但相同的AssemblyVersion和InstallShield / Windows Installer应该自动执行您要查找的内容。