如何从旧的InstallShield自动卸载软件?

时间:2014-02-07 18:13:08

标签: installation installshield uninstall

我正在为我们的旧版软件编写新的安装程序。安装程序最初是使用InstallShield Professional 6.40构建的,现在我正在Inno Setup中构建它。由于软件基础架构的重大变化,我需要首先卸载旧的基础架构,以便我可以使用新的安装进行全新安装(使用Inno Setup)。

旧版本安装在驱动器的根目录(C:\SoftwareName\)中,现在我将它移动到Program Files中的适当位置 - 以及更改注册表项名称。因此,虽然它是相同的软件,但它确实被视为完全不同的软件。

我在旧安装的注册表中找到了条目:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{[OUR GUID]}

在这里,UninstallString中有一个卸载信息条目:

RunDll32 C:\PROGRA~2\COMMON~1\INSTAL~1\engine\6\INTEL3~1\Ctor.dll,LaunchSetup "C:\Program Files (x86)\InstallShield Installation Information\{[OUR GUID]}\Setup.exe" 

第二部分,我知道我可以执行以启动“修改/卸载”向导。但这需要自动化,只显示卸载的进度。

我找到了以下链接:

但这些似乎是指较新版本的InstallShield。我们的装置很旧(6.40)。我已经设法使用这种智慧至少启动卸载这样......

RunDll32 C:\PROGRA~2\COMMON~1\INSTAL~1\engine\6\INTEL3~1\Ctor.dll,LaunchSetup "C:\Program Files (x86)\InstallShield Installation Information\{[OUR GUID]}\Setup.exe" -10x9 -uninst -s -w

但如果用户希望卸载,它仍会提示是/否提示...

Uninstall Prompt

这个过程应该......

  • 无需向导或用户提示静默运行
  • 仅显示卸载进度
  • 等到卸载完成后再返回

但我没有幸运完成这些事情。

执行此卸载的适当方法是什么?

0 个答案:

没有答案