如何在InstallAnywhere安装过程中删除InnoSetup安装



过去,我使用InstallAnywhere构建了我的设置。我现在已经切换到InnoSetup作为我的新设置提供程序。

在安装新安装之前,我需要删除整个旧安装。Innosetup识别旧安装程序并首先执行"旧"卸载程序,但旧安装程序无法识别Innosetup的卸载程序。由于旧设置已经存在,因此我无法更改这些设置的配置。

如何使 InstallAnywhere 识别 Innosetup 卸载程序,而无法更改 InstallAnywhere 配置?

Windows是否使用某种"标准方法"来检查是否已安装相同的应用程序?

我已经尝试在Innosetup中创建InstallAnywhere注册表项来"模拟"以前的InstallAnywhere卸载程序 - 但没有成功。

我找到了InstallAnywhere存储自己的自定义"注册表"的位置。似乎所有 Flexera 产品都使用此机制。

有一个 XML 文件C:Program Files (x86)Zero G Registry.com.zerog.registry.xml其中包含有关所有已安装组件的信息。遗憾的是,文件格式没有记录,也不包含对架构定义的任何引用。

基本上得到了一个解决方法:我正在创建一个"虚拟"InstallAnywhere安装程序,该安装程序在InnoSetup安装期间以静默方式安装。它只用于做一件事:由IA安装程序检测到的蜂鸣,并在卸载期间调用InnoSetup卸载程序。

最新更新