简体   繁体   English

自定义操作中的第三方exe-Installshield

[英]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.

相关问题 如何将参数传递给自定义操作(.exe) - How to pass arguments to custom actions(.exe) 有没有一种方法可以以具有常规特权的用户身份和以第三方exe(内部)身份作为管理员运行nsis代码 - is there a way to run nsis code as user with regular privileges and a third party exe (within) as an administrator 如何首先安装第三方msi或exe或bin,然后完成安装后启动主应用程序? - How to install third party msi or exe or bin first and then when its done, start the main application? 来自源媒体的installshield启动exe - installshield launch exe from source media 以编程方式提取InstallShield setup.exe的内容 - Programmatically extract contents of InstallShield setup.exe 从解压缩的installshield setup.exe中文件的位置 - Location of files from extracted installshield setup.exe 如何查询InstallShield installer exe以获取产品代码而不安装它? - How to query InstallShield installer exe to get Product code without installing it? 如何使用installshield 2011获取msi文件而不是exe文件 - how to get the msi file instead of exe file with installshield 2011 是否有支持.NET4的第三方软件包工具? - Is there third party package tool with .NET4 support? 用第三方库打包C#应用程序? - Packaging C# Applications with third party libraries?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM