Inno Setup的常用脚本

Inno Setup的常用脚本  

  1. [InstallDelete]
  2. 安装前删除文件
  3. Type: files; Name: "{src}\a.exe"
  4. 安装前删除文件夹
  5. Type: filesandordirs; Name: "{src}\b"
  6. [Run]
  7. 安装完成前运行自解压文件
  8. Filename: "{src}\data.exe"; Parameters: "-y"; StatusMsg: "正在解压7z自释放文件……";
  9. 安装完成后删除自解压文件
  10. Filename: "{cmd}"; Parameters: "/c del ""{src}\data.exe"""; Flags: hidewizard runhidden
  11. 安装完成后删除文件夹
  12. Filename: "{cmd}"; Parameters: "/c rd /s /q ""{src}\c"""; Flags: hidewizard runhidden
安装不同的目录:
[Files]
Source: "我的程序\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "我的程序\*"; DestDir: {cf}\我的程序; Flags: ignoreversion recursesubdirs createallsubdirs
开始菜单快捷方式:
[Icons]
Name: "{group}\我的程序名称"; Filename: "{app}\我的程序.exe" ;WorkingDir: "{app}"  

桌面快捷方式:
[Icons]
Name: "{userdesktop}\我的程序名称"; Filename: "{app}\我的程序.exe"; WorkingDir: "{app}"  

开始菜单卸载快捷方式:
[Icons]
Name: "{group}\{cm:UninstallProgram,我的程序}"; Filename: "{uninstallexe}"  

安装完后选择运行:
[Run]
Filename: "{app}\我的程序.exe"; Description: "{cm:LaunchProgram,我的程序名称}"; Flags: nowait postinstall skipifsilent  

安装完后自动运行:
[Run]
Filename: "{app}\我的程序.exe";  

在界面左下角加文字:
[Messages]
BeveledLabel=你的网站名称  

选择组件安装:(组件1的Flags: fixed为必须安装)  
[Types]  
Name: "full"; Description: "选择安装"; Flags: iscustom  
[Components]  
Name: 组件1文件夹; Description: 组件1名称; Types: full; Flags: fixed  
Name: 组件2文件夹; Description: 组件2名称; Types: full  
Name: 组件3文件夹; Description: 组件3名称; Types: full  
[Files]  
Source: "E:\组件1文件夹\我的程序.exe"; DestDir: "{app}"; Flags: ignoreversion  
Source: "E:\组件1文件夹\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: 组件1文件夹  
Source: "E:\组件2文件夹\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: 组件2文件夹  
Source: "E:\组件3文件夹\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: 组件3文件夹  

添加关于按钮:
[Code]  
{注意:关于按钮单击后执行的过程,一定要写在InitializeWizard()过程之前}  
procedure ButtonAboutOnClick(Sender: TObject);  
begin  
MsgBox('关于对话框。'+#13#10+'另起一行', mbInformation, MB_OK);//显示对话框  
end;  
{初始化安装向导时会触发的过程,这个过程的名字是INNO内部定义的,不能修改}  
procedure InitializeWizard();  
begin  
with TButton.Create(WizardForm) do//在WizardForm上面创建一个按钮  
begin  
Left := 32;//按钮距WizardForm左边的距离  
Top := 302;//按钮距WizardForm上边的距离  
Width := WizardForm.CancelButton.Width;//按钮的宽度,这里定义跟'取消'按钮等宽  
Height := WizardForm.CancelButton.Height;//按钮的高度  
Caption := '关于(&A)...';//按钮上的文字  
Font.Name:='宋体';//按钮文字的字体  
Font.Size:=9;//9号字体  
OnClick := @ButtonAboutOnClick;//单击按钮触发的过程,就是前面的'ButtonAboutOnClick'过程,注意前面不要漏掉  
Parent := WizardForm;//按钮的父组件,也就是按钮'载体',这里是WizardForm(安装向导窗体)  
end;  
end;  

设置界面文字颜色:
[Code]  
procedure InitializeWizard();  
begin  
WizardForm.WELCOMELABEL1.Font.Color:= clGreen;//设置开始安装页面第一段文字的颜色为绿色  
WizardForm.WELCOMELABEL2.Font.Color:= clOlive;//设置开始安装页面第二段文字的颜色为橄榄绿  
WizardForm.PAGENAMELABEL.Font.Color:= clred;//设置许可协议页面第一段文字的颜色为红色  
WizardForm.PAGEDESCRIPTIONLABEL.Font.Color:= clBlue; //设置许可协议页面第二段文字的颜色为蓝色  
WizardForm.MainPanel.Color:= clWhite;//设置窗格的颜色为白色  
end;  

判断所选安装目录中原版主程序是否存在:
[Code]  
function NextButtonClick(CurPage: Integer): Boolean;  
begin  
Result:= true;  
if CurPage=wpSelectDir then  
if not FileExists(ExpandConstant('{app}\主程序.exe')) then  
begin  
MsgBox('安装目录不正确!', mbInformation, MB_OK );  
Result := false;  
end;  
end;
注:
{app}表示默认安装路径为C:\Program Files\我的程序\
{cf}表示默认安装路径为C:\Program Files\Common Files\我的程序\

颜色:
clBlack(黑色),clMaroon(暗红),clGreen(绿色),clOlive(橄榄绿),clNavy(深蓝),clPurple(紫色),clTeal(深青),clGray(灰色),clSilver(浅灰),clRed(红色),clLime(浅绿),clYellow(黄色),clBlue(蓝色),clFuchsia(紫红),clAqua(青绿),clWhite(白色)。te(白色)。
增加path路径:
[Register]
Root: HKLM; Subkey: "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; ValueName: "Path"; ValueData: "{olddata};{app}";Flags:uninsdeletekey
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值