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

Inno Setup入门(十二)——Pascal脚本(1)

 
阅读更多

事件函数(1)

Inno Setup支持以下函数和过程。

function InitializeSetup(): Boolean;

该函数在安装程序初始化时调用,返回False 中断安装,True则继续安装,测试代码如下:

 

function InitializeSetup(): Boolean;

begin

  Result := MsgBox('安装程序正在初始化,你确定要安装吗?', mbConfirmation, MB_YESNO) = idYes;

  if Result = False then

    MsgBox('你放弃了安装,程序直接退出', mbInformation, MB_OK);

end;

 

procedure InitializeWizard();

该过程在开始的时候改变向导或者向导页,不要指望使用InitializeSetup函数实现改变向导页的功能,因为InitializeSetup函数触发时向导窗口并不存在。

procedure DeinitializeSetup();

       该过程在安装终止时被调用,注意及时在用户没有安装任何文件之前退出也会被调用。测试代码如下:

 

procedure DeinitializeSetup();

begin

    msgbox('DeinitializeSetup is called',mbInformation, MB_OK);

end;

 

procedure CurStepChanged(CurStep: TSetupStep);

       该过程提供用户完成预安装和安装之后的任务,更多的是提供了安装过程中的状态。参数CurStep=ssInstall是在程序实际安装前(所有的路径等都配置好之后准备写入文件钱),CurStep=ssPostInstall是实际安装完成后,而CurStep=ssDone是在一次成功的安装完成后、安装程序终止前(即点击finish按钮后执行)。测试代码如下:

 

procedure CurStepChanged(CurStep: TSetupStep);

begin

       if CurStep=ssinstall then

              MsgBox('准备写入文件了', mbInformation, MB_OK);

       if CurStep=ssPostinstall then

              MsgBox('文件复制完成', mbInformation, MB_OK);        

       if CurStep=ssDone then

              MsgBox('软件成功安装', mbInformation, MB_OK);

end;

 

三个步骤的截图如下:

Inno Setup入门(十二)——Pascal脚本(1) - Castor - 趁年轻,多折腾~~

 

Inno Setup入门(十二)——Pascal脚本(1) - Castor - 趁年轻,多折腾~~

 

Inno Setup入门(十二)——Pascal脚本(1) - Castor - 趁年轻,多折腾~~

 

function NextButtonClick(CurPageID: Integer): Boolean;

当用户单击下一步按钮时调用。如果返回True,向导将移到下一页;如果返回False,它仍保留在当前页。测试代码如下:

 

function NextButtonClick(CurPageID: Integer): Boolean;

begin

       Result := MsgBox('到下一页去吗?', mbConfirmation, MB_YESNO) = idYes;

end;

 

截图如下:

 

Inno Setup入门(十二)——Pascal脚本(1) - Castor - 趁年轻,多折腾~~

function BackButtonClick(CurPageID: Integer): Boolean;

和前面的NextButtonClick函数相反,当用户单击返回按钮时调用。如果返回True,向导将移到前;如果返回False,它仍保留在当前页,测试代码略。

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);

       当用户单击取消按钮或单击窗口中的关闭按钮时调用。Cancel 参数指定取消进程是否该发生;默认为TrueConfirm 参数指定是否显示“退出安装程序吗?”的消息框;默认为True。如果Cancel 设为False,那么Confirm 的值将被忽略。测试代码如下:

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);

begin

       cancel:=False;

end;

和你所预料的一样,本段代码将会导致Cancel按钮失效,即逼迫用户完成安装或者采用非正常方式终止安装程序。

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);

begin

       Confirm:=false;

end;

而上面的这段代码将会在用户点击Cancel按钮之后直接退出,不需要做进一步的确认。

function ShouldSkipPage(PageID: Integer): Boolean;

       向导调用这个事件函数确定是否在所有页或不在一个特殊页 (PageID 指定显示。如果返回True,将跳过该页;如果你返回False,该页被显示。注意这个事件函数不被wpWelcomewpPreparing wpInstalling 页调用,还有安装程序已经确定要跳过的页也不会调用 (例如,没有包含组件安装程序的wpSelectComponents)。测试代码如下:

function ShouldSkipPage(PageID: Integer): Boolean;

begin

       if PageID=wpSelectDir then

       Result:=True;

end;

本段代码将会使得安装程序跳过选择安装目录的页面,即如下页面是不会被显示的:

 

Inno Setup入门(十二)——Pascal脚本(1) - Castor - 趁年轻,多折腾~~

可用的PageID有: wpLicense, wpPassword, wpInfoBefore, wpUserInfo, wpSelectDir, wpSelectComponents, wpSelectProgramGroup, wpSelectTasks, wpReady, wpInfoAfter, wpFinished

procedure CurPageChanged(CurPageID: Integer);

       在新向导页 (CurPageID 指定显示后调用。测试代码如下:

 

procedure CurPageChanged(CurPageID: Integer);

begin

       Msgbox('ha,new page!',mbInformation, MB_OK);

end;

 

       该段代码将会导致每出现一个新的一面的时候就会弹出一个消息框。

 (待续)

分享到:
评论

相关推荐

    Inno_Setup入门——Pascal脚本.doc

    Inno Setup支持以下函数和过程。 function InitializeSetup(): Boolean; 该函数在安装程序初始化时调用,返回False 将中断安装,True则继续安装,测试代码如下: function InitializeSetup(): Boolean; begin ...

    Inno Setup 6.2.1以及中文语言包

    Inno setup是一款简便安装包工具,支持pascal脚本,几分钟就能生成标准Windows安装包。资源包括加密dll以及中文语言包

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

    Inno Setup使用Pascal脚本语言编写,因此对于Pascal程序员来说非常友好。同时,它还提供了一个易于使用的向导式界面,使得即使是非程序员也能够轻松地创建安装程序。 Inno Setup支持多种安装程序功能,如选择安装...

    Inno Setup 5.0.7 入门帮助中文文档 PDF

    快速制作出标准Windows2000风格的安装界面 Inno Setup提供源程序免费下载 当之无愧算是后起之秀 Inno Setup是一款免费的安装制作软件 小巧、简便、精美是其最大特点 Inno Setup支持pascal脚本

    inno setup 使用教程

    1. inno setup 各种格式修改 2. 使用pascal脚本 3. inno setup 类 4. 在inno中dll的使用

    inno setup中文PDF文档

    inno setup中文帮助文档,PDF 版本,中文版 Inno Setup用...Inno Setup是一个免费的安装制作软件,小巧、简便、精美是其最大特点,支持pascal脚本,能快速制作出标准Windows2000风格的安装界面,足以完成一般安装任务

    Inno Setup(安装包制作软件) 6.2.0 增强版+(Inno安装包解包工具.rar

    Inno Setup 是一个小巧、简便、精美是其最大特点,支持pascal脚本,能快速制作出标准Windows2000风格的安装界面,足以完成一般安装任务。该软件用Delphi写成,其官方网站同时也提供源程序免费下载。它虽不能与...

    Inno Setup帮助文档

    快速制作出标准Windows2000风格的安装界面  Inno Setup提供源程序免费下载  当之无愧算是后起之秀  Inno Setup是一款免费的安装制作软件  小巧、简便、精美是其最大特点 ... Inno Setup支持pascal脚本

    Inno Setup执行SQL脚本的方法.zip_inno setup_执行sql_脚本

    当然,既然Inno内嵌了Pascal语言用以扩展功能,理论上不是不可以应付复杂的安装过程,但实现起来要复杂一些。 比如对于在安装过程中连接数据库并执行SQL脚本这样的需求,使用InstallShield应该会简单地多,而Inno却...

    Inno Setup 5.4.2汉化版

    inno setup 是一个免费的安装制作软件,小巧、简便、精美是其最大特点,支持pascal脚本,能快速制作出标准windows2000风格的安装界面,足以完成一般安装任务。该软件用delphi写成,其官方网站同时也提供源程序免费...

    innosetup(Inno Setup)免费的安装制作软件

    Inno Setup 是一个免费的安装制作软件,小巧、简便、精美是其最大特点,支持pascal脚本,能快速制作出标准Windows2000风格的安装界面,足以完成一般安装任务。

    Inno Setup 5.2.3 绿色汉化增强版

    Inno Setup 5.2.3 绿色汉化增强版 支持pascal脚本安装制作工具

    Inno Setup v5.5.9.zip

    软件支持pascal脚本,软件最大的特点是小巧、简便、精美,使用该软件用户不必实际安装的应用程序访问其文件,而是直接提取Inno Setup的安装程序的内部文件,软件更优秀的地方在于,该应用程序被包裹在一个直观的布局...

    Inno Setup 提取工具 Inno Setup Unpacker 0.50 免费版.zip

    习惯使用的打包工具就是 Inno Setup,而 Inno Setup 是用于安装软件的流行程序。不幸的是,没有官方的解压程序-将文件从自解压的可执行文件中取出的唯一方法是运行它。对于使用 Inno Setup 创建的安装程序的用户,...

    innosetup-5.6.1

    Inno Setup 是一个免费的安装制作软件,小巧、简便、精美是其最大特点,支持pascal脚本,能快速制作出标准Windows2000风格的安装界面,足以完成一般安装任务。该软件用Delphi写成,其官方网站同时也提供源程序免费...

    inno setup中文帮助文档

    inno setup的中文帮助文档。从基本用法到pascal脚本的使用,帮助文档里有对inno全面又清晰易懂的讲解。

    Inno Setup 5.4.2

    Inno Setup 是一个免费的安装制作软件,小巧、简便、精美是其最大特点,支持pascal脚本,能快速制作出标准Windows2000风格的安装界面,足以完成一般安装任务。该软件用Delphi写成,其官方网站同时也提供源程序免费...

    Inno setup 汉化增强版v5.3.10

    Inno SetupInno Setup是一个免费的安装制作软件,小巧、简便、精美是其最大特点,支持pascal脚本,能快速制作出标准的安装界面

    Inno Setup中文版

    Inno Setup是一个安装制作软件,小巧、简便、精美是其最大特点,支持pascal脚本,能快速制作出标准Windows2000风格的安装界面,足以完成一般安装任务。

    InnoSetup绿色版

    完整的 Pascal 脚本引擎。 支持多语言安装,including right-to-left language support. 支持密码和加密安装。 后台安装和后台卸载。 Unicode 安装。(Windows 2000/XP 或更高) 全部源代码公开 (Borland Delphi ...

Global site tag (gtag.js) - Google Analytics