Inno Setup入门(11)—完成安装后执行某些程序.docx_第1页
Inno Setup入门(11)—完成安装后执行某些程序.docx_第2页
Inno Setup入门(11)—完成安装后执行某些程序.docx_第3页
Inno Setup入门(11)—完成安装后执行某些程序.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

有些时候我们的程序虽然能够很好的完成安装,但是程序的配置工作可能需要其他的一些程序来辅助完成,如果不执行这些程序,主程序就不能很好的完成工作,甚至不能完成工作,一个很明显的例子是,目前许多程序是通过NET技术开发的,这就要求计算机上必须安装有.net Framework,否则主程序运行不了,只有预先安装了NET Framework后主程序才能得以运行。这个时候可以通过Run段,指定程序完成安装后、在安装程序显示最终对话框之前要执行的程序。设想有个主程序为ipmsg.exe,初始化程序为init.exe,主程序必须在init.exe运行一次之后方可很好的运行,这个时候可以这样做(这里的init.exe是我随便找的一个文件,和ipmsg没有必然的联系,只是用来演示):DefaultDirName=E:TESTAppVersion=1.0Compression=lzma2/maxShowLanguageDialog=yescomponentsName: main; Description:主程序(必选);Types:full compact custom;Flags: fixedName: data; Description:数据文件;Types:fullName: help;Description:帮助文件;Types:full compactfiles;需要打包的文件Source: F:desktoptestipmsg.exe; DestDir: app;Components:mainSource: F:desktoptestinit.exe; DestDir: app;Components:mainSource: F:desktoptestbin.dat; DestDir: app;Components:dataSource: F:desktoptesthelp.chm; DestDir: app ;Components:helpSource: F:desktoptestreadme.txt; DestDir: app;components:help;Flags:isreadmerunFilename: appINIT.EXE;测试上面代码生成的打包文件,运行到最后出现finish之前,将会出现如下画面,后面的安装程序将挂起,等待run段下的程序执行完毕后方可继续运行。聪明的读者可能已经想到,使用该方法也可以实现readme的功能。这里再谈谈该段的各个参数:Filename:该参数是必须的,用于说明需要执行的文件,或者需要打开的文件夹。如果Filename不是可执行文件(.exe或.com)或批处理文件(.bat或.cmd),你必须在条目中使用shellexec标记,由上面的代码可知,这个参数可以包含常量。Description:仅在Run段有效。这是条目的描述,可以包含常量,如果没有指明,将会使用默认的描述Parameters:程序的可选命令行参数,可以包含常量例如有的控制台程序需要传递参数,这个时候就可以使用该参数了,示例如下:Filename: appINIT.EXE;Description:初始化程序;Parameters:/t注意:如果你的程序不接受参数,传递的参数将会被忽略。WorkingDir程序在哪个目录启动。如果这个参数未指定则使用Filename参数中的目录。如果Filename不包含路径,它将使用默认目录。这个参数可以包含常量。StatusMsg仅在Run段有效。由于某些程序在执行期间是不可见的(处于安全或者其他原因),但是又不想让用户以为安装程序没有响应,可以通过该参数指定程序执行时显示在向导页的消息,如果这个参数未指定可是空白的,将使用默认的消息“正在完成安装.”。这个参数可以包含常量。例如下例:runFilename: appINIT.EXE;Description:初始化程序; StatusMsg:别急,等一下就好则效果如下:Flags:这个参数是额外选项设置。多个选项可以使用空格隔开。支持下面的选项:选项说明hidewizard如果指定了这个标记,向导将在程序运行期间隐藏nowait如果指定了这个标记,它将在处理下一个Run条目前或完成安装前不等待进程执行完成,不能与waituntilidle或waituntilterminated组合使用postinstall仅在Run段有效。告诉安装程序在安装完成向导页创建一个选择框,用户可以选中或不选中这个选择框从而决定是否处理这个条目。以前这个标记调用showcheckbox。如果安装程序已经重新启动了用户的电脑(安装了一个带restartreplace标记的文件或如果Setup段的AlwaysRestart指示是yes引起的),选择框没有机会出现,因此这些条目不会被处理。runhidden如果指定了这个标记,它将在隐藏窗口中运行程序。runmaximized如果指定了这个标记,将在最大化窗口运行程序或文档runminimized如果指定了这个标记,将在最小化窗口运行程序或文档。shellexec如果Filename不是一个直接可执行文件(.exe或.com文件),这个标记是必需的。当设置这个标记时,Filename可以是一个文件夹或任何已注册的文件类型,当使用shellexec标记时,将不等待,直到生成的进程终止,如果确实需要,则必须添加标记waituntilterminatedskipifdoesntexist如果这个标记在Run段中指定,如果文件名不存在,安装程序不显示错误消息;如果这个标记在UninstallRun段中指定,如果文件名不存在,卸载程序不显示“一些元素不能删除”的警告skipifnotsilent仅在Run段有效。告诉安装程序如果安装程序未在后台运行则跳过这个条目skipifsilent告诉安装程序如果安装程序在后台运行则跳过这个条目unchecked告诉安装程序初始为不选中选择框。如果用户希望处理这个条目,可以通过选取选择框执行,如果postinstall标记未同时指定,这个标记被忽略waituntilidle如果指定了这个标记,它将在未输入期间等待,直到进程等待用户输入,而不是等待进程终止。(调用WaitForInputIdle Win32函数。)不能与nowait或waituntiltermint

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论