Inno Setup入门(12)—Pascal脚本 下载本文

内容发布更新时间 : 2024/9/18 20:21:06星期一 下面是文章的全部内容请认真阅读。

事件函数(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;

三个步骤的截图如下:

function NextButtonClick(CurPageID: Integer): Boolean;

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

function NextButtonClick(CurPageID: Integer): Boolean; begin

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

function BackButtonClick(CurPageID: Integer): Boolean;

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

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

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