7

我的公司正在开发一个依赖于我们的另一个应用程序的应用程序。第二个应用程序已经有一个 Inno Setup 安装程序。

所以我想我想将第二个应用程序的安装程序捆绑在第一个应用程序的 Inno Setup 安装程序中。但我不确定如何正确处理。有谁知道这样做的“正确方法”?

我发现了这个:Inno Setup Knowledge Base—HOWTO: Install .MSI files。我假设该技术可用于嵌套的 Inno Setup 安装程序。但我有几个关于细节的问题:

  1. 如果第一个应用程序被卸载,我怎么能做到这一点,第二个也被卸载?
  2. 这是明智的做法(自动卸载​​第二个应用程序),还是应该让用户手动执行此操作?
  3. 如果用户在卸载第一个应用程序时尝试卸载第二个应用程序,我应该以某种方式检测到并发出警告吗?我怎么能那样做?
4

1 回答 1

3

对于您所说的卸载程序功能级别,我建议您熟悉 Inno Setup 中的 pascal 脚本(如果您还没有的话)。它提供了令人难以置信的定制,但需要注意的是使您的项目更加复杂。

先回答你的第三个问题:

是的,你应该这样做。为了正确执行此操作,您需要将此功能添加到第二个应用程序(即您的应用程序所依赖的那个)的卸载程序中。请参阅Uninstall event functionsInno Setup 帮助。如果您的应用程序已安装(例如,通过检查是否存在),您需要签入该卸载程序HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\SecondAppName,并在这种情况下显示附加警告。

至于你的第二个问题:

如果您的客户很可能希望继续使用第二个应用程序,即使他决定要卸载第一个应用程序,您也应该为他提供选择。在卸载您的应用程序后,我会在您的应用程序的卸载程序中使用单独的向导页面来执行此操作。

最后,你的第一个问题:

您需要确定其他应用程序的卸载程序 exe 的名称(完整路径)。您可以从注册表项中检索它HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\SecondAppName\UninstallString。要从 [CODE] 部分中的脚本执行它,请参阅ExecInno Setup 帮助。

于 2009-06-27T13:10:27.393 回答