品牌型号:惠普 Laptop 15
软件版本:InstallShield 2020
系统:Windows 10
InstallShield是一款常用的安装包制作软件,大家一般会用它来打包和部署Windows应用程序。不过在实际使用中,偶尔会遇到安装完成后主程序不自动运行的情况,这不仅影响用户体验,还可能会让用户误以为安装失败了,这是怎么回事呢?接下来本文将详细给大家介绍一下InstallShield安装后不自动运行主程序怎么办,InstallShield怎么设置安装后自动启动的相关内容。
一、InstallShield安装后不自动运行主程序怎么办
InstallShield安装后主程序不自动运行,这通常和配置设置、路径逻辑、权限或环境冲突有关,我们来了解一下具体情况。
1、自动启动配置未正确设置
没有勾选【完成对话框】中的【启动程序】选项,或者没有默认勾选这个复选框,导致安装完成后无法触发自动启动;

自定义动作中没有添加启动程序的步骤,或者没有把启动动作绑定到安装流程的最后环节;
也可能是由于InstallShield脚本项目中,在OnFirstUIAfter等安装完成事件中漏写了启动代码。
2、主程序路径或参数错误
程序路径配置错误,比如没有正确使用安装目录变量(如[INSTALLDIR]),导致指向的路径不存在;
路径中包含空格、特殊字符但却没有使用引号包裹(比如[INSTALLDIR]MyProgram.exe要改成"[INSTALLDIR]MyProgram.exe");
还有就是命令行参数错误,导致程序启动时因为参数解析失败而终止。
3、权限或系统环境限制
主程序需要管理员权限,但启动动作没有配置【以系统权限运行】,在普通用户权限下就会被系统阻止;

目标系统的安全软件(比如防火墙、杀毒软件)误把程序当成风险文件,拦截了自动启动;
系统组策略或者用户权限设置禁止【安装后自动运行程序】,这种情况在企业级系统中比较常见。
二、InstallShield怎么设置安装后自动启动
在InstallShield中可以设置安装后自动启动,不过不同的项目,操作方法也不一样。下面我们就以BasicMSI项目为例来演示一下。
1、在InstallShield左侧的项目视图中,找到【行为与逻辑】选项,选择【自定义操作和序列】,进入自定义动作的管理界面。
2、在右侧的自定义操作窗口中,选择空白处右击,从弹出的列表中选择【New EXE】,系统就会创建一个新的自定义动作。

3、选择刚创建的自定义动作,在属性面板中可以设置名称,这里创建一个简单好认的名称就可以。在【Return Processing】中可以选择Asynchronous (No wait for completion),这样安装程序启动后,不会等待该程序退出,安装流程就能正常结束。另外由于我们要启动的是已经安装的程序,所以在【SourceLocation】中将其设置为【Installed with Product】。

4、接下来,在【Sequences】中选择【Installation】——【Execute】,在右侧的执行序列列表中,找到【InstallFinalize】标准动作,需将启动动作放在它后面。在【InstallFinalize】下方的空白行中,右键点击【Action】列,选择【New Action】,会弹出Insert Action…对话框(即当前图片显示的界面)。

5、在弹出的对话框中,从下拉列表中选择刚才创建的自定义动作(如Launch_MyApp),点击OK即可。
以上就是今天的分享,本文主要围绕InstallShield安装后不自动运行主程序怎么办,InstallShield怎么设置安装后自动启动的内容展开了介绍,掌握了上述方法,就可以解决InstallShield安装后不自动运行主程序的问题。各位小伙伴如果在操作过程中遇到类似问题,不妨可以参考上文。
