繁体   English   中英

在Inno Setup安装中运行另一个安装程序

[英]Run another installer in an Inno Setup installation

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

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

我发现了这个: Inno Setup知识库 - HOWTO:安装.MSI文件 我假设该技术可用于嵌套的Inno Setup安装程序。 但我对细节有几个问题:

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

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

首先回答你的第三个问题:

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

至于你的第二个问题:

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

最后,你的第一个问题:

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

暂无
暂无

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

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