1

我有一个由我的 InstallShield 安装程序安装在 GAC 中的程序集。该组件被标记为永久,以便在卸载程序时保留 DLL。到目前为止,它工作正常。

但是,如果我更新程序,我希望我的 DLL 的两个版本存在于全局程序集缓存中:以前版本的 DLL 和新版本的 DLL(因为永久属性设置为 Y,以前版本不应卸载)。但事实并非如此:更新后仅存在最新版本。

我的理解是 InstallShield 为我的 DLL 分配了一个逻辑路径,例如。[GlobalAssemblyCache]MyAssembly.dll,不管是什么版本。因此,即使 GAC 中有单独的路径,InstallShield 也会替换 GAC 中的 DLL。

我对行为的理解是否正确?无论如何,如何防止 InstallShield 删除我以前的版本?

谢谢,

4

0 回答 0