我有一个InstallShield InstallScript MSI项目,其中包含没有软件管理器合并模块的FLEXnet Connect 。本产品的版本为 6.0.32。我为 6.1 版创建了第二个安装程序,其中还包含FLEXnet Connect without Software Manager 合并模块。当我在包含 6.0.32 版本的系统上执行重大升级时,我在 MSI 日志中收到一条消息,指出:
Disallowing installation of component: {FF970098-B748-427B-B946-AA8E1A1F82AD} since the same component with higher versioned keyfile exists
该组件正在引用isusweb.dll
位于FLEXnet Connect 文件夹中的文件。
看起来此检查发生在6.0.32
产品被移除之前。安装继续删除6.0.32
产品,这将删除isusweb.dll
. 由于组件版本检查,在6.1
安装isusweb.dll
过程中不会放回。
升级成功。当我尝试从快捷方式运行应用程序时,它会验证组件。由于isusweb.dll
缺少 MSI 尝试修复,然后找不到 MSI 并且不允许应用程序打开。
有没有办法让合并模块总是覆盖?