`
qq173684423
  • 浏览: 27777 次
社区版块
存档分类
最新评论

Inno Setup入门(十一)——完成安装后执行某些程序

 
阅读更多

有些时候我们的程序虽然能够很好的完成安装,但是程序的配置工作可能需要其他的一些程序来辅助完成,如果不执行这些程序,主程序就不能很好的完成工作,甚至不能完成工作,一个很明显的例子是,目前许多程序是通过NET技术开发的,这就要求计算机上必须安装有.net Framework,否则主程序运行不了,只有预先安装了NET Framework后主程序才能得以运行。这个时候可以通过Run段,指定程序完成安装后、在安装程序显示最终对话框之前要执行的程序。

       设想有个主程序为ipmsg.exe,初始化程序为init.exe,主程序必须在init.exe运行一次之后方可很好的运行,这个时候可以这样做(这里的init.exe是我随便找的一个文件,和ipmsg没有必然的联系,只是用来演示):

DefaultDirName="E:\TEST"

AppVersion=1.0

Compression=lzma2/max

ShowLanguageDialog=yes

 

[components]

Name: main; Description:"主程序(必选)";Types:full compact custom;Flags: fixed

Name: data; Description:"数据文件";Types:full

Name: help;Description:"帮助文件";Types:full compact

 

[files]

;需要打包的文件

Source: "F:\desktop\test\ipmsg.exe"; DestDir: "{app}";Components:main

Source: "F:\desktop\test\init.exe"; DestDir: "{app}";Components:main

Source: "F:\desktop\test\bin.dat"; DestDir: "{app}";Components:data

Source: "F:\desktop\test\help.chm"; DestDir: "{app}" ;Components:help

Source: "F:\desktop\test\readme.txt"; DestDir: "{app}";components:help;Flags:isreadme

 

[run]

Filename: "{app}\INIT.EXE";

测试上面代码生成的打包文件,运行到最后出现finish之前,将会出现如下画面,后面的安装程序将挂起,等待run段下的程序执行完毕后方可继续运行。

Inno Setup入门(十一)——完成安装后执行某些程序 - Castor - 趁年轻,多折腾~~

聪明的读者可能已经想到,使用该方法也可以实现readme的功能。这里再谈谈该段的各个参数:

Filename

该参数是必须的,用于说明需要执行的文件,或者需要打开的文件夹。如果Filename 不是可执行文件(.exe.com) 或批处理文件(.bat .cmd),你必须在条目中使用shellexec 标记,由上面的代码可知,这个参数可以包含常量。

Description

仅在[Run] 段有效。这是条目的描述,可以包含常量,如果没有指明,将会使用默认的描述

Parameters

程序的可选命令行参数,可以包含常量例如有的控制台程序需要传递参数,这个时候就可以使用该参数了,示例如下:

Filename: "{app}\INIT.EXE";Description:"初始化程序";Parameters:"/t"

注意:如果你的程序不接受参数,传递的参数将会被忽略。

WorkingDir

程序在哪个目录启动。如果这个参数未指定则使用Filename 参数中的目录。如果Filename 不包含路径,它将使用默认目录。这个参数可以包含常量。

StatusMsg

仅在[Run] 段有效。由于某些程序在执行期间是不可见的(处于安全或者其他原因),但是又不想让用户以为安装程序没有响应,可以通过该参数指定程序执行时显示在向导页的消息,如果这个参数未指定可是空白的,将使用默认的消息“正在完成安装...”。这个参数可以包含常量。例如下例:

[run]

Filename: "{app}\INIT.EXE";Description:"初始化程序"; StatusMsg:"别急,等一下就好"

则效果如下:

 

Inno Setup入门(十一)——完成安装后执行某些程序 - Castor - 趁年轻,多折腾~~

 

Flags:

这个参数是额外选项设置。多个选项可以使用空格隔开。支持下面的选项:

选项

说明

hidewizard

如果指定了这个标记,向导将在程序运行期间隐藏

nowait

如果指定了这个标记,它将在处理下一个[Run] 条目前或完成安装前不等待进程执行完成,不能与waituntilidlewaituntilterminated 组合使用

postinstall

仅在[Run] 段有效。告诉安装程序在安装完成向导页创建一个选择框,用户可以选中或不选中这个选择框从而决定是否处理这个条目。以前这个标记调用showcheckbox。如果安装程序已经重新启动了用户的电脑 (安装了一个带restartreplace 标记的文件或如果[Setup] 段的AlwaysRestart 指示是yes 引起的),选择框没有机会出现,因此这些条目不会被处理。

runhidden

如果指定了这个标记,它将在隐藏窗口中运行程序。

runmaximized

如果指定了这个标记,将在最大化窗口运行程序或文档

runminimized

如果指定了这个标记,将在最小化窗口运行程序或文档。

shellexec

如果Filename 不是一个直接可执行文件(.exe .com 文件),这个标记是必需的。当设置这个标记时,Filename 可以是一个文件夹或任何已注册的文件类型,当使用shellexec 标记时,将不等待,直到生成的进程终止,如果确实需要,则必须添加标记waituntilterminated

skipifdoesntexist

如果这个标记在[Run] 段中指定,如果文件名不存在,安装程序不显示错误消息;如果这个标记在[UninstallRun] 段中指定,如果文件名不存在,卸载程序不显示“一些元素不能删除”的警告

skipifnotsilent

仅在[Run] 段有效。告诉安装程序如果安装程序未在后台运行则跳过这个条目

skipifsilent

告诉安装程序如果安装程序在后台运行则跳过这个条目

unchecked

 

告诉安装程序初始为不选中选择框。如果用户希望处理这个条目,可以通过选取选择框执行,如果postinstall 标记未同时指定,这个标记被忽略

waituntilidle

如果指定了这个标记,它将在未输入期间等待,直到进程等待用户输入,而不是等待进程终止。(调用WaitForInputIdle Win32函数。不能与nowait waituntilterminted 组合使用

waituntilterminated

如果指定这个标记,将等待到进程完全终止。注意这是一个默认动作 (也就是你不需要指定这个标记),除非你使用了shellexec标记,在这种情况下,如果你要等待,需要指定这个标记。不能与nowait waituntilidle 组合使用

分享到:
评论

相关推荐

    InnoSetup入门(PDF )

    《InnoSetup入门详解》 InnoSetup是一款广泛使用的安装包制作工具,尤其在Windows平台上,它以其简单易用和高度可定制性深受开发者喜爱。本教程将带你深入理解InnoSetup的基础和高级功能,逐步教你如何制作出专业且...

    Inno Setup入门教程

    #### 十一、完成安装后执行某些程序 - **基础知识**:学会如何在安装完成后自动运行特定程序。 - **实现方法**:在 `[Code]` 部分编写Pascal脚本来启动程序。 ```pascal procedure LaunchApplication; var ...

    Inno Setup:windows下安装程序制作软件,及打包模板

    Inno Setup是一款免费的安装程序制作工具,用于创建Windows平台下的安装程序。它具有易于使用、功能强大、灵活性高等特点,是Windows安装程序制作的首选工具之一。 Inno Setup使用Pascal脚本语言编写,因此对于...

    Inno Setup 中文教程

    4. **程序启动**:Inno Setup允许在安装完成后执行自定义的脚本或程序,这在`[Run]`节中进行设置。 三、高级特性 1. **多语言支持**:Inno Setup支持创建多语言安装程序,只需编写不同的语言脚本文件并进行合并。 ...

    自定义Inno Setup安装界面(仿QQ安装界面)

    自定义Inno Setup安装界面是创建个性化安装程序的一项技术,主要应用于Windows平台。Inno Setup是一款免费的安装制作工具,它允许开发者自定义安装过程的各个方面,包括界面、图标、安装选项等,使得安装程序更加...

    【innoSetup反向打包】innoextract

    除了标准的Inno Setup安装程序外,innoextract还支持一些修改后的Inno Setup变体,包括Martijn Laan的My Inno Setup Extensions 1.3.10至3.0.6.1以及GOG.com基于Inno Setup的游戏安装程序。innoextract能够解压缩...

    Innosetup软件及安装界面美化iss脚本

    InnoSetup是一款强大的安装制作工具,它被广泛用于创建Windows应用程序的安装程序。这款工具以其易用性、灵活性和自定义能力而闻名,允许开发者创建专业级别的安装包,包括设置程序路径、添加启动菜单快捷方式、注册...

    使用inno setup将python exe制作安装包详细教程(csdn)————程序.pdf

    编译完成后,你将得到一个可分发的安装程序。 9. **测试安装包**: 在不同的环境中测试安装包,确保安装过程顺利,所有依赖都已正确包含,程序可以正常运行。 10. **发布和更新**: 最后,将安装包上传到适当的...

    innosetup界面美化工具.zip

    innosetup安装界面美化: 解压压缩包中的 Inno Setup 5.5.zip,运行Inno Setup 5.5\Inno Setup 5\Compil32.exe,右上角可以改变语言。 打开build.iss文件,一些自定义字段请按需修改,点击Inno Setup工具栏中的 ...

    innosetup安装界面美化.zip

    InnoSetup,一款强大的Windows安装程序制作工具,以其简洁易用的脚本语言和丰富的自定义功能深受开发者喜爱。本资源包"innosetup安装界面美化.zip"专门针对InnoSetup的安装和卸载界面进行了美化设计,旨在提升用户在...

    inno解包工具,可解加密的inno setup安装程序

    Inno Setup是一款流行的安装制作工具,它被广泛用于创建Windows应用程序的安装包。这款工具具有很多功能,包括创建自解压文件、支持多语言、定制安装界面等。然而,有些Inno Setup创建的安装程序可能会被加密,以...

    inno setup安装时备份例子

    这里,`Backup.bat`是包含备份逻辑的批处理文件,`postinstall`标志表示在安装完成后执行,`StatusMsg`则是在执行时显示的进度消息。 至于压缩包中的"A100_v3.0_电视墙插件安装包-基线",这可能是本次安装的主体...

    innosetup禁止中文安装路径

    标题中的“innosetup禁止中文安装路径”指的是在使用Inno Setup这个安装包制作工具时,如何通过脚本设置来防止用户在安装过程中选择含有中文字符的路径。Inno Setup是一款广泛使用的Windows应用程序安装程序制作工具...

    Inno Setup 6打包后安装程序改为中文教程

    Inno Setup 6打包后安装程序改为中文教程

    InnoSetup中文帮助

    - **定义**:InnoSetup是一款专为Windows操作系统设计的免费安装程序制作工具。首次发布于1997年,经过多年的持续更新与优化,其在功能性与稳定性方面已达到甚至超越一些商业级别的安装程序制作软件。 - **关键功能...

    innosetup-6.0.5 exe打包安装程序

    通过将Java可执行jar文件转换为.exe文件(如使用Launch4j),然后使用InnoSetup打包,即可创建一个符合Windows用户习惯的Java应用安装程序。这样不仅解决了Java应用的跨平台问题,还能提供一个统一的安装和卸载体验...

    inno setup安装程序

    - 安装完成后,用户可以通过集成的编译器创建自己的安装脚本,或者使用已有的脚本模板进行修改。 - 脚本编写完成后,通过Inno Setup编译器进行编译,生成.exe安装文件。 3. **脚本语法与配置** - Inno Setup的...

    Inno Setup 6.2.1以及中文语言包

    "innosetup-6.2.1.exe"是Inno Setup 6.2.1的主要安装程序文件,用户可以通过运行这个文件来安装或升级Inno Setup的开发环境。这个执行文件可能包含所有必要的组件,如编译器、脚本编辑器和帮助文档,使得用户可以在...

    InnoSetup实现多安装目录

    InnoSetup 多安装目录

Global site tag (gtag.js) - Google Analytics