我有一个 Installshield Basic MSI 安装程序,用于安装我们产品的新版本。如果用户仍在使用旧版本(由 Installscript 安装程序安装),安装程序将在继续安装新产品之前执行旧产品的卸载字符串。
当用户卸载我们产品的新版本时,这会导致一些问题。当要添加/删除程序并运行卸载程序时,卸载程序会运行并删除文件,但是当刷新添加/删除列表时,产品似乎仍处于安装状态。这些文件已被删除,但注册表中有产品的残余。
有效卸载产品的唯一方法是通过第 3 方注册表清理程序(可能还有一个由此构建的脚本)。奇怪的是,如果用户在安装新产品之前手动卸载旧产品,新产品的卸载将正常工作。此外,在机器上没有旧产品的情况下安装新产品也会导致完全卸载。
这两种产品有不同的产品代码。有什么想法可能导致这种情况吗?谢谢!