4 installshield inno-setup uninstall uninstallation
我有一个旧的VB6应用程序,使用非常旧的16位版本的InstallShield进行部署.我已经创建了一个新的安装程序,Inno Setup对我的VB6应用程序有64位友好的更新.
我的所有用户都已安装现有的InstallShield版本.目前,我有Inno安装工作.问题是,我不想覆盖旧的InstallShield安装文件,所以我的Inno安装程序安装到另一个目录.这会导致问题,因为现在我安装了两个版本,带有两个单独的图标.
当我安装新的Inno Setup版本时,我需要一种方法来调用旧的InstallShield应用程序的卸载程序.如何通过Inno Setup从Windows添加/删除程序中调用卸载程序?如果我重用InstallShield版本的应用程序ID与Inno安装程序相同,然后手动删除旧文件,那会起作用吗?
您必须找到InstallShield卸载注册表项,该注册表项将驻留在其中,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\或者HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\然后执行其UninstallString值.完成后,删除注册表项:无法在Inno安装程序中重复使用相同的密钥,因为它始终会附加_is1到您AppId的生成卸载注册表项名称.此外,在较旧的Windows版本上,由于长度限制,它也可能会截断此密钥名称并附加校验和.
从PrepareToInstall事件功能完成所有这些.
| 归档时间: |
|
| 查看次数: |
2498 次 |
| 最近记录: |