Inno Setup入门—Pascal脚本.pdf
文本预览下载声明
InnoSetup入门 (十二)——Pascal脚本
事件函数
InnoSetup支持以下函数和过程。
functionInitializeSetup():Boolean;
该函数在安装程序初始化时调用,返回False 将中断安装,True则继续安装,测试代码如下:
functionInitializeSetup():Boolean;
begin
Result: MsgBox(安装程序正在初始化,你确定要安装吗?,mbConfirmation,MB_YESNO) idYes;
ifResult Falsethen
MsgBox(你放弃了安装,程序直接退出,mbInformation,MB_OK);
end;
procedureInitializeWizard();
该过程在开始的时候改变向导或者向导页,不要指望使用InitializeSetup函数实现改变向导页的功能,
因为InitializeSetup 函数触发时向导窗口并不存在。
procedureDeinitializeSetup();
该过程在安装终止时被调用,注意及时在用户没有安装任何文件之前退出也会被调用。测试代码如下:
procedureDeinitializeSetup();
begin
msgbox(DeinitializeSetupiscalled,mbInformation,MB_OK);
end;
procedureCurStepChanged(CurStep:TSetupStep);
该过程提供用户完成预安装和安装之后的任务,更多的是提供了安装过程中的状态。参数CurStep
ssInstall是在程序实际安装前 (所有的路径等都配置好之后准备写入文件钱),CurStep ssPostInstall是实
际安装完成后,而CurStep ssDone是在一次成功的安装完成后、安装程序终止前 (即点击finish按钮后执
行)。测试代码如下:
procedureCurStepChanged(CurStep:TSetupStep);
begin
ifCurStep ssinstallthen
MsgBox(准备写入文件了,mbInformation,MB_OK);
ifCurStep ssPostinstallthen
MsgBox(文件复制完成,mbInformation,MB_OK);
ifCurStep ssDonethen
MsgBox(软件成功安装,mbInformation,MB_OK);
end;
三个步骤的截图如下:
functionNextButtonClick(CurPageID:Integer):Boolean;
当用户单击下一步按钮时调用。如果返回True,向导将移到下一页;如果返回False,它仍保留在当
前页。测试代码如下:
functionNextButtonClick(CurPageID:Integer):Boolean;
begin
Result: MsgBox(到下一页去吗?,mbConfirmation,MB_YESNO) idYes;
end;
截图如下:
functionBackButtonClick(CurPageID:Integer):Boolean;
和前面的NextButtonClick 函数相反,当用户单击返回按钮时调用。如果返回True,向导将移到前;
如果返回False,它仍保留在当前页,测试代码略。
procedureCancelButtonClick(CurPageID:Integer;varCancel,Confirm:Boolean);
当用户单击取消按钮或单击窗口中的关闭按钮时调用。Cancel 参数指定取消进程是否该发生;默认为
True。Confirm 参数指定是否显示“退出安装程序吗?”的消息框;默认为True。如果Cancel 设为False,
那么Confirm 的值将被忽略。测试代码如下:
procedureCancelButtonClick(CurPageID:Integer;varCancel,Confirm:Boolean);
begin
cancel: False;
e
显示全部