[英]Third party exe in custom actions - installshield
I am creating an msi installation package using InstallShield. 我正在使用InstallShield创建一个msi安装软件包。
I have a custom action to install a third party exe. 我有一个自定义操作来安装第三方exe。 This exe has an UI, it prompts the user to click "Yes" or "No".
该exe有一个UI,它提示用户单击“是”或“否”。 If the user clicks No, that exe is not installed but the msi installation continues.
如果用户单击“否”,则未安装该exe,但msi安装将继续。 I want to end the msi installation as soon as the user interrupts the installation of third party exe.
我想在用户中断第三方exe的安装后立即结束msi安装。
In either cases (Whether the user clicks Yes or No) return value is 1. So i am stuck. 在这两种情况下(无论用户单击是还是否),返回值为1。
Could you help me on this. 你能帮我这个忙吗?
If this is a dependency, don't install it with a custom action. 如果这是一个依赖项,请不要通过自定义操作进行安装。 That's what the seup.exe type of bootstrapper is for.
这就是bootupper的seup.exe类型的用途。 They install required prerequisites (like .NET Frameworks and C++ runtimes) then launch your MSI install.
他们安装必需的先决条件(如.NET Framework和C ++运行时),然后启动MSI安装。
Another reason for not using a custom action is to do with where you put the custom to install this 3rd party exe. 不使用自定义操作的另一个原因是您在何处放置自定义来安装此第三方exe。 If you put it in your UI sequence then you cannot do a silent install of your MSI (because the UI sequence is suppressed) and if you put it in the execute sequence it will fail if it MSI based because you cannot have recursive MSI installs (yours calling another).
如果将其放入UI序列中,则将无法静默安装MSI(因为UI序列被抑制),如果将其放入执行序列中,则如果基于MSI,它将失败,因为您无法进行递归MSI安装(您的呼叫另一个)。
Does the EXE accept any command line parameters to make it silent? EXE是否接受任何命令行参数使其静音? In general this is a bad thing to do because:
通常,这是一件不好的事情,因为:
1) The EXE can fail and give the impression your installer failed. 1)EXE可能会失败,并给您的安装程序以失败印象。
2) Can fail and swallow the error. 2)可能会失败并吞下错误。
3) Doesn't log to your MSI log and may not log at all. 3)不会登录到您的MSI日志,并且可能根本不会登录。
4) MSI isn't aware of the changes made by the EXE and therefore doesn't support Rollback, Resilency, Uninstall 4)MSI不知道EXE所做的更改,因此不支持回滚,回弹,卸载
The list goes on and on. 清单一直在继续。
Install you third party exe as a prerequisite. 必须先安装第三方exe。 InstallShield allows you to define your own prerequites and the InstallShield's bootstrapper is able to work with prerequisites.
InstallShield允许您定义自己的先决条件,并且InstallShield的引导程序可以满足先决条件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.