1 、如何让协议许可页面默认选中我同意按钮
1 2 3 4 | procedure InitializeWizard(); begin WizardForm . LICENSEACCEPTEDRADIO . Checked := true ; end ; |
2、自定义安装程序右上角图片大小
1 2 3 4 5 6 7 | procedure InitializeWizard(); begin WizardForm . WizardSmallBitmapImage . width:= 150 ; //设置页眉图片的大小 WizardForm . WizardSmallBitmapImage . left:=WizardForm . width- 150 ; //设置左边页眉留出的空隙 WizardForm . PAGENAMELABEL . width:= 0 ; //设置标题文字显示的大小 WizardForm . PAGEDESCRIPTIONLABEL . width:= 0 ; //设置标题文字显示的大小 end ; |
或者
1 2 3 4 5 6 7 8 | //自定义安装向导小图片 procedure InitializeWizard(); begin Wizardform . WizardSmallBitmapImage . left:= WizardForm . width- 164 ; //自定义安装向导小图片显示位置 WizardForm . WizardSmallBitmapImage . width:= 164 ; //自定义安装向导小图片宽度 Wizardform . PageNameLabel . width:= 495 - 164 - 36 ; //这儿必须定义,数值根据图片宽度更改,显示软件名称的位置 Wizardform . PageDescriptionLabel . width:= 495 - 164 - 42 ; //显示页面信息的位置 end ; |
3、自定BeveledLabel显示代码
1 2 3 4 5 6 7 | procedure InitializeWizard(); begin WizardForm . BeveledLabel . Enabled:= true ; //允许显示 WizardForm . BeveledLabel . Font . Color:= $00058451 ;; //显示颜色 WizardForm . BeveledLabel . Font . Style := WizardForm . BeveledLabel . Font . Style + [fsBold]; //显示字体 WizardForm . BeveledLabel . Left:= 5 ; //显示位置 end ; |
4、自定义安装向导图片
1 2 3 4 5 6 | procedure InitializeWizard(); begin Wizardform . WELCOMELABEL1 . left:= 18 ; //自定义欢迎页面标题1显示位置 Wizardform . WELCOMELABEL2 . left:= 18 ; //自定义欢迎页面标题2显示位置 Wizardform . WizardBitmapImage . left:= WizardForm . width- 164 //自定义安装向导图片显示位置(显示大小,此处为居右显示) end ; |
5、显示出组件选择框
1 2 3 4 5 | [Types] Name: full; Description: 推荐 Name: default; Description: 典型 Name: custom; Description: 自定义; Flags: iscustom ;告诉安装程序这个类型是自定义类型。必须定义iscustom这个参数,才能显示出组件选择框 |
6、定义[Messages]的颜色
1 2 3 4 5 | procedure InitializeWizard(); begin WizardForm . BeveledLabel . Enabled:= True ; WizardForm . BeveledLabel . Font . Color:= clblue; end ; |
7、不显示一些特定的安装界面
1 2 3 4 5 | function ShouldSkipPage(PageID: Integer ): Boolean ; begin if PageID=wpReady then result := true ; end ; |
wpReady 是准备安装界面
PageID查询 INNO帮助中的 Pascal 脚本: 事件函数常量
预定义向导页 CurPageID 值
wpWelcome, wpLicense, wpPassword, wpInfoBefore, wpUserInfo, wpSelectDir, wpSelectComponents, wpSelectProgramGroup, wpSelectTasks, wpReady, wpPreparing, wpInstalling, wpInfoAfter, wpFinished
8、换行符号
在 [Messages] 换行符号为%n
在 MsgBox 中换行符号为 #13#10 //#13 为回车字符
9、颜色代码
(1)一个值形如 $bbggrr, 这里的 rr, gg 和 bb 指定了两位的亮度值(以十六进制表示)分别为红色,绿色和蓝色。
(2)预定义的颜色名称:
clBlack(黑色),clMaroon(暗红),clGreen(绿色),clOlive(橄榄绿),
clNavy(深蓝),clPurple(紫色),clTeal(深青),clGray(灰色),
clSilver(浅灰),clRed(红色),clLime(浅绿),clYellow(黄色),
clBlue(蓝色),clFuchsia(紫红),clAqua(青绿),clWhite(白色)。
10、inno代码注释符号
; 实例 —— ; 分号
// 实例 —— // 双斜杠 多用在code段
{ } 实例 —— {大括号 多用在code段}
注释符号均在英文输入法状态下输入
11、在运行卸载程序前显示弹出式消息
1 2 3 4 5 6 7 | function InitializeUninstall(): Boolean ; begin if MsgBox( '' , mbConfirmation, MB_YESNO) = IDYES then result:= true else result:= false ; end ; |
12、安装、卸载时判断是否程序正在运行,卸载完成时自动打开网页
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | var ErrorCode: Integer ; IsRunning: Integer ; // 安装时判断客户端是否正在运行 function InitializeSetup(): Boolean ; begin Result := true ; //安装程序继续 IsRunning:=FindWindowByWindowName( '东方宽频网络电视' ); while IsRunning<> 0 do begin if Msgbox( '安装程序检测到客户端正在运行。' # 13 # 13 '您必须先关闭它然后单击“是”继续安装,或按“否”退出!' , mbConfirmation, MB_YESNO) = idNO then begin Result := false ; //安装程序退出 IsRunning := 0 ; end else begin Result := true ; //安装程序继续 IsRunning:=FindWindowByWindowName( '东方宽频网络电视' ); end ; end ; end ; // 卸载时判断客户端是否正在运行 function InitializeUninstall(): Boolean ; begin Result := true ; //安装程序继续 IsRunning:=FindWindowByWindowName( '东方宽频网络电视' ); while IsRunning<> 0 do begin if Msgbox( '安装程序检测到客户端正在运行。' # 13 # 13 '您必须先关闭它然后单击“是”继续安装,或按“否”退出!' , mbConfirmation, MB_YESNO) = idNO then begin Result := false ; //安装程序退出 IsRunning := 0 ; end else begin Result := true ; //安装程序继续 IsRunning:=FindWindowByWindowName( '东方宽频网络电视' ); end ; end ; end ; procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin case CurUninstallStep of usUninstall: begin // 开始卸载 end ; usPostUninstall: begin // 卸载完成 // MsgBox('CurUninstallStepChanged:' #13#13 'Uninstall just finished.', mbInformation, MB_OK); // ...insert code to perform post-uninstall tasks here... end ; end ; end ; |
13、 删除文件和删除文件夹
1 2 3 4 | //删除文件 用 DeleteFile 只能删除一个文件,不能使用通配符来删除多个文件 DeleteFile(ExpandConstant( '{app}\abc.exe' )); //删除所有文件及文件夹 DelTree(ExpandConstant( '{app}' ), True , True , False ); |
14、BorderStyle
TFormBorderStyle = (bsNone, bsSingle, bsSizeable, bsDialog, bsToolWindow, bsSizeToolWin);
无边界式(bsNone) ,单边固定式(bsSingle),双边可变式(bsSizeable),对话框式(bsDialog)
15、if else
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | function NextButtonClick(CurPageID: Integer ): Boolean ; var ResultCode: Integer ; begin Result := True ; if (CurPageID = wpSelectDir) then begin MsgBox( 'AAAA' , mbInformation, MB_OK); end else begin MsgBox( 'BBBB' , mbInformation, MB_OK); end ; end ; |
16、安装结束界面增加“设为首页”选项
[Tasks]
Name: changestartpage; Description: “设置vistaqq为默认主页”
[Registry]
Root: HKCU; Subkey: “Software\Microsoft\Internet Explorer\Main”; ValueType: string; ValueName: “Start Page”; ValueData: “http://www.vistaqq.com”; tasks: changestartpage
17、添加“关于”和网站链接按钮
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | procedure URLLabelOnClick(Sender: TObject); var ErrorCode: Integer ; begin end ; procedure AboutButtonOnClick(Sender: TObject); begin MsgBox(# 13 'Vista 状态条风格盘符' # 13 # 13 '本软件由jinn制作,希望各位登陆中天VIP工作室!' # 13 # 13 '版权所有 (C) 中天VIP工作室' , mbInformation, MB_OK); end ; var AboutButton, CancelButton: TButton; URLLabel: TNewStaticText; procedure InitializeWizard(); begin { Create the pages } WizardForm . PAGENAMELABEL . Font . Color:= clred; WizardForm . PAGEDESCRIPTIONLABEL . Font . Color:= clBlue; WizardForm . WELCOMELABEL1 . Font . Color:= clGreen; WizardForm . WELCOMELABEL2 . Font . Color:= clblack; CancelButton := WizardForm . CancelButton; AboutButton := TButton . Create(WizardForm); AboutButton . Left := WizardForm . ClientWidth - CancelButton . Left - CancelButton . Width; AboutButton . Top := CancelButton . Top; AboutButton . Width := CancelButton . Width; AboutButton . Height := CancelButton . Height; AboutButton . Caption := '&About' ; AboutButton . OnClick := @AboutButtonOnClick; AboutButton . Parent := WizardForm; URLLabel := TNewStaticText . Create(WizardForm); URLLabel . Caption := '中天VIP工作室' ; URLLabel . Cursor := crHand; URLLabel . OnClick := @URLLabelOnClick; URLLabel . Parent := WizardForm; { Alter Font *after* setting Parent so the correct defaults are inherited first } URLLabel . Font . Style := URLLabel . Font . Style + [fsUnderline]; URLLabel . Font . Color := clBlue; URLLabel . Top := AboutButton . Top + AboutButton . Height - URLLabel . Height - 2 ; URLLabel . Left := AboutButton . Left + AboutButton . Width + ScaleX( 20 ); end ; |
18、去掉安装程序左上角“关于安装程序”的代码
1 2 3 4 5 6 7 8 9 | procedure InitializeWizard(); begin WizardForm . BorderIcons:= [biMinimize]; end ; procedure CurPageChanged(CurPage: Integer ); begin if CurPage=wpWelcome then WizardForm . BorderIcons:= [biSystemMenu, biMinimize]; end ; |
或者
1 2 3 4 | procedure InitializeWizard(); begin WizardForm . BORDERICONS := [biHelp, biSystemMenu, biMinimize]; end ; |
19、自定义BeveledLabel文字
[Messages]
BeveledLabel=中天VIP工作室
20、自定义安装程序界面左上角“安装”文字
[message]
SetupAppTitle=需要的字
SetupWindowTitle=需要的字
21、自定义安装程序版本号
VersionInfoVersion=1.1
VersionInfoTextVersion=1.1
22、安装完成后显示新特性
[Run]
Filename: “{app}\WhatsNew.Txt”; Description: “安装完成后显示新特性”; Flags: postinstall shellexec skipifsilent