更改升级代码后,如何卸载旧版本



我有两个程序(A和B(具有相同的升级代码-当一个程序正在安装时,另一个程序将被卸载。现在我必须在同一台机器上安装两个程序,为了做到这一点,我更改了一个程序的升级代码(A(我的问题是,如果我的电脑上已经安装了旧版本的A,MSI不会识别新的升级代码,而是进行新的安装。如何卸载旧版本?有没有办法从installShield做到这一点?我试着制作一个自定义脚本:

LAAW_SHELLEXECUTEVERB = "runas";
MessageBox("result incercam uninstall",INFORMATION);
command_e = "wmic product where "description='IP Office Admin Lite'"  uninstall";
LaunchApplication( "cmd.exe",
"/C " + command_e,
"", 
SW_MINIMIZE, 0, LAAW_OPTION_WAIT );

但不知何故,它并不是每次都有效,我认为这与时间有关。你觉得怎么样?

升级表 :如果这是MSI——既然你提到了升级代码,它应该是MSI——你通常可以卸载任何通过编写您正在安装的MSI。

事实上,这是你应该做的,不要依赖任何自定义的动作构造,因为它们往往会引起问题。这是MSI的内置";"重大升级";旨在为您自己的产品提供升级的功能

请参阅此处的技术说明:

  • 在安装时删除其他软件
  • 将条目添加到MSI UpgradeTable以删除相关产品

在Installshield中,您应该在Upgrades视图(Installshield help file(中添加旧的升级代码,但我目前没有Installshield可以尝试。与WiX结构相关的答案应显示整个过程。

相关内容

  • 没有找到相关文章

最新更新