简体   繁体   English

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

[英]How to remove InnoSetup Installation on InstallAnywhere Install Process?

In the past I've build my setups using InstallAnywhere. 过去,我使用InstallAnywhere构建我的设置。 I've now switched to InnoSetup as my new setup provider. 我现在已切换为InnoSetup作为新的安装程序提供程序。

I need to remove the whole old installation before installing the new one. 在安装新安装之前,我需要删除整个旧安装。 Innosetup recognises the old setup and executes the "old" uninstaller first, but the old setup doesn't recognise Innosetup's uninstaller. Innosetup可以识别旧的安装程序,并先执行“旧的”卸载程序,但是旧的安装程序无法识别Innosetup的卸载程序。 As the old setups are already out there, I can't change the configuration of these. 由于旧的设置已经存在,因此我无法更改这些设置。

How to make InstallAnywhere recognise the Innosetup uninstaller, without being able to change the InstallAnywhere configuration? 如何使InstallAnywhere能够识别Innosetup卸载程序,而又不能更改InstallAnywhere配置?

Is there some kind of "standard way" that windows uses to check if the same application is already installed? Windows是否使用某种“标准方式”来检查是否已安装相同的应用程序?

I've already tried to create the InstallAnywhere registry keys within Innosetup to "simulate" a previous InstallAnywhere uninstaller - without success. 我已经尝试在Innosetup中创建InstallAnywhere注册表项,以“模拟”以前的InstallAnywhere卸载程序-失败。

I've found the location where InstallAnywhere stores its own custom "registry". 我找到了InstallAnywhere存储自己的自定义“注册表”的位置。 Seems like all Flexera products use this mechanism. 似乎所有Flexera产品都使用此机制。

There is an XML File C:\\Program Files (x86)\\Zero G Registry\\.com.zerog.registry.xml that contains information about all installed components. 有一个XML文件C:\\Program Files (x86)\\Zero G Registry\\.com.zerog.registry.xml ,其中包含有关所有已安装组件的信息。 Unfortunately the file format is not documented, nor it contains any reference to a schema Definition. 不幸的是,文件格式没有记录,也没有包含任何对模式定义的引用。

I basically ended up with a workaround: I am creating a "dummy" InstallAnywhere setup, that gets silently installed during the InnoSetup installation. 我基本上得到了一种解决方法:我正在创建一个“虚拟” InstallAnywhere安装程序,该安装程序在InnoSetup安装过程中以静默方式安装。 It is used to do only a single thing: Beeing detected by an IA setup, and call the InnoSetup uninstaller during uninstallation. 它仅用于做一件事:IA安装程序检测到Beeing,并在卸载过程中调用InnoSetup卸载程序。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM