安装防护罩以强制将GAC组件替换为具有相同版本的组件



我有一个。net DLL名为A.dll版本3.303.1.1。
我得到了一个带有补丁的新a.l ll,但它具有相同的版本3.303.1.1,我需要提供即将到来的应用程序版本。

我需要做的是在安装期间从GAC强制替换旧的A.dll。我正在使用Installshield来创建安装程序。

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

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

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

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

我的试验:当我简单地将新DLL添加到设置中并尝试将其安装在已经安装了旧版本应用程序的机器中时,新DLL没有安装在GAC中,因为两个DLL的版本相同。然而,当我使用GACUTIL.exe强制安装新的DLL时,我能够这样做,并且旧的DLL被机器中的新DLL所取代。

谢谢。

用增加的AssemblyFileVersion重建DLL,但相同的AssemblyVersion和InstallShield/Windows Installer应该自动执行您正在寻找的操作。

最新更新