8

I want to run my exe after installation using InstallShield. InstallShield completes the setup correctly but do not run the exe.

I found another way to add an exe in startup but it runs after restart. I would like it to run without restart.

Is it possible ?

4

2 回答 2

18

您使用的是哪个版本的 InstallShield?另外,您使用的是什么项目类型?(InstallScript、InstallScript MSI、基本 MSI?)

假设 Basic MSI,InstallShield 有一个内置模式来支持这个故事:

1) 单击项目助手选项卡

2)点击安装面试图标(页面)

3) 对于“您是否希望在安装完成后让用户选择启动您的应用程序?

4) 单击浏览按钮选择应作为操作目标的 EXE。

默认情况下,设置完成对话框上的复选框(启动程序)不会被选中。要选择它,会自动将属性 LAUNCHPROGRAM 添加到属性表并将其设置为值“1”。

于 2012-05-22T12:35:53.360 回答
5

Christopher Painter 的答案在大多数情况下都对您有用。这些是要采取的初步步骤,但如果您发现这还不够,还有一些额外的细节。例如,skb 报告说这对他不起作用。我发现我在同一条船上(即使我已经建立了十几个其他安装程序来完成这项工作!)。

  1. 按照克里斯托弗画家的指示。
  2. 单击“安装设计器”选项卡。在“用户界面”中选择“对话框”。
  3. 在“所有对话框”中,展开“SetupCompleteSuccess”,然后选择“行为”。
  4. 选择“确定”按钮控件。然后,选择“事件”。(查看屏幕底部的事件/订阅/条件)
  5. 您应该有一个“DoAction”事件,其“参数”等于“IS_LAUNCH_MY_PROGRAM_PLEASE”,“条件”为“LAUNCHPROGRAM”。如果没有 - 添加。“LAUNCHPROGRAM”是指该名称的属性。如果选择了启动复选框,它将具有值 1,因此满足此条件。IS_LAUNCH_MY_PROGRAM_PLEASE 是指启动的自定义操作。如果需要,您可以在此处更改该 CA 以触发任何自定义操作。我选择不理会它,而是用我自己的一个替换 CA。
  6. 打开您的自定义操作列表(行为和逻辑......自定义操作和序列)。您应该在那里找到一个名为 IS_LAUNCH_MY_PROGRAM_PLEASE 的 CA。删除它!
  7. 添加您自己的 IS_LAUNCH_MY_PROGRAM_PLEASE CA。右键单击“自定义操作”(列表标题)并选择所需的 CA 类型 - 或启动向导。如果您将对话框行为保留为默认设置,请务必将其命名为“IS_LAUNCH_MY_PROGRAM_PLEASE”。
  8. 要启动一个 exe - 工作目录已更改(这是我的应用程序不会出现的原因,显然 skb 也是基于评论)选择“新 EXE”...“引用目录的路径”。将“返回处理”更改为“异步(不等待完成)”。注意“MSI 类型号”变为 226。将“工作目录”设置为INSTALLDIR(假设您要启动的程序应该在新程序的目录中找到)。将“文件名和命令行”设置为[INSTALLDIR]YourApp.exe.
于 2016-04-14T22:18:12.977 回答