Inno Setup
Inno Setup 是一款免费的window是安装制作软件,在功能设置和稳定性上的竞争力可能已经超过一些商业的安装程序制作软件。安装程序用编译脚本(.iss)的方式创建,脚本为类似.ini文件格式的ASCII码文本文件,根据产品需求可通过脚本控制程序安装位置、创建快捷方式等功能属性。这里稍整理下一些常用属性功能:
1.Inno setup脚本demo
2.安装协议默认同意
3.组件选择框
4.跳过特定的安装界面
5.信息包含换行符号
6.删除文件和删除文件夹
7.自定义BeveledLabel文字
8.安装完成后显示新特性
9.安装界面显示gif动画
10.Inno Setup在线辅助文档
1.Inno setup脚本demo
[Setup]
;程序名
AppName=cnblogs
;版本号
AppVerName=cnblogs 1.0.0.0
;发布者名
AppPublisher=sz-leez
;相关连接
AppPublisherURL=http://www.cnblogs.com/sz-leez/
AppSupportURL=http://www.cnblogs.com/sz-leez/
AppUpdatesURL=http://www.cnblogs.com/sz-leez/
;默认安装目录
DefaultDirName={pf}\{#AppName}
;默认开始菜单名
DefaultGroupName={#AppName}
;安装协议
LicenseFile=C:\Inno_Setup_demo\license.txt
;安装前查看的文本文件
;InfoBeforeFile=C:\Inno_Setup_demo\Readme.txt
;安装后查看文本文件
;InfoAfterFile=C:\Inno_Setup_demo\what's new.txt
;输出文件夹
OutputDir=.\Output\
;输出文件名
OutputBaseFilename=cnblogs_setup
;安装图标
SetupIconFile=C:\Inno_Setup_demo\cnblogs.ico
;安装需要输入密码
;Password=123456
;Encryption=yes
;压缩相关
Compression=lzma
SolidCompression=yes
;可以让用户忽略选择语言相关
ShowLanguageDialog=yes
;备注版本信息
VersionInfoCompany=XXX Software Co., Ltd.
AppCopyright=Copyright 2006-2015 XXX Software Co., LTD.
AppPublisher=XXX Software
;制作选择语言
[Languages]
Name: "en"; MessagesFile: compiler:Default.isl
;用户定制任务,任务列表界面 复选框
[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
[Files]
;打包应用程序exe
Source: .\app\{#SourUI}; DestDir: {app}; Flags: ignoreversion; DestName: {#DestUI}
;开始/程序 里的 ie、反安装 快捷键图标
Source: .\images\Uninstall.ico; DestDir: {app}\Images\uninstallicon; Flags: ignoreversion
[Icons]
;程序exe图标
Name: {group}\{#AppName}; Filename: {app}\{#DestUI}; WorkingDir:{app}
;开始菜单卸载图标链接
Name: {group}\{#AppName} Uninstall; Filename: {uninstallexe}; WorkingDir:{app}; IconFilename: {app}\Images\uninstallicon\Uninstall.ico
;桌面图标、快速启动栏图标
Name: {commondesktop}\{#AppFullName}; Filename: {app}\{#DestUI}; WorkingDir:{app}; Tasks: desktopicon
Name: {userappdata}\microsoft\internet explorer\quick launch\{#AppFullName}; Filename: {app}\{#DestUI}; WorkingDir:{app}; Tasks: quicklaunchicon
[Run]
;安装界面最后一页的复选框
Filename: {app}\{#DestUI}; Description: {cm:LaunchProgram,{#AppFullName}}; Flags: postinstall nowait skipifsilent runascurrentuser
[code]
//全局变量
var MyProgChecked: Boolean;
//判断程序是否存在
//初始华程序事件
function InitializeSetup(): boolean;
var Isbl: boolean; //声明变量
var Isstr: string;
begin //开始
Isbl := true; //变量赋值
Isstr := '欢迎';
if RegValueExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\cnblogs', 'config') then
begin
MsgBox('已安装过,请先卸载在安装',mbConfirmation, MB_OK);
isbl := false;
end else
begin
//MsgBox('无值',mbConfirmation, MB_OK);
isbl := true;
end;
Result := Isbl;
end; //结束
procedure CurStepChanged(CurStep: TSetupStep);
var Isstr :string;
begin
if CurStep=ssInstall then //实际安装前调用
begin
//安装完成后调用
//do something
end;
if CurStep=ssPostInstall then
begin
//do something
end;
end;
2.安装协议默认同意
[code]
procedure InitializeWizard();
begin
WizardForm.LICENSEACCEPTEDRADIO.Checked := true;
end;
3.组件选择框
[Types]
Name: full; Description: 推荐
Name: default; Description: 典型
Name: custom; Description: 自定义; Flags: iscustom
;告诉安装程序这个类型是自定义类型。必须定义iscustom这个参数,才能显示出组件选择框
4.跳过特定的安装界面
[code]
function ShouldSkipPage(PageID: Integer): Boolean;
begin
if PageID=XXX then
result := true;
end;
;XXX对应需要跳过的页面ID:
wpWelcome, wpLicense, wpPassword, wpInfoBefore, wpUserInfo, wpSelectDir, wpSelectComponents, wpSelectProgramGroup, wpSelectTasks, wpReady, wpPreparing, wpInstalling, wpInfoAfter, wpFinished
5.信息包含换行符号
在 [Messages] 换行符号为%n
在 MsgBox 中换行符号为 #13#10 //#13 为回车字符
6.删除文件和删除文件夹
;只删单个文件用 DeleteFile
DeleteFile(ExpandConstant('{app}\cnblogs.exe'));
;删除所有文件及文件夹
DelTree(ExpandConstant('{app}'), True, True, False);
7.自定义BeveledLabel文字
[Messages]
BeveledLabel=sz-leez
8.安装完成后显示新特性
[Run]
Filename: "{app}\description.txt"; Description: "What's New"; Flags: postinstall shellexec skipifsilent
9.安装界面显示gif动画
http://restools.hanzify.org/article.asp?id=79&page=2
10.Inno Setup在线辅助文档
http://www.jrsoftware.org/ishelp/index.php
Inno Setup的更多相关文章
- C/S打包 客户端/windows程序 Inno Setup
之前介绍过InstallShield打包工具,本文再介绍更加方便的打包工具Inno Setup Inno Setup相对来说,比InstallShield更容易使用,不需要去等VS去创建项目,只要提供 ...
- [Tool]Inno Setup创建软件安装程序。
这篇博客将介绍如何使用Inno Setup创建一个软件安装程序. Inno Setup官网:http://www.jrsoftware.org/isinfo.php. 可以下载到最新的Inno Set ...
- inno setup读取注册表遇到的一个坑
一.背景 目前,公司针对PR开发的一个插件需要发布到64位系统上.该插件包括一个prm格式的文件和若干个DLL文件.其中,prm文件需要复制到PR公共插件目录下,DLL需要复制到Windows系统目录 ...
- 一个简单的inno setup模板
一.模板代码 基本功能包括多路径安装.多语言.自定义图标. [Setup] ShowLanguageDialog=yes AppCopyright=Copyright Reserved(C) , 36 ...
- Inno Setup 版本 5.5.3+ 简体中文语言包
; *** Inno Setup 版本 + 简体中文消息 *** [LangOptions] LanguageName=<7B80><4F53><> Languag ...
- 解决Inno Setup制作中文安装包在非中文系统上显示乱码的问题
尼玛,好几个月没更新了.囧... 目前我司新的客户端开发已经接近尾声,该改的bug已经改完,该重构的地方也都差不多了.视觉效果也已经根据美工的样式改完了.所以,就差制作安装包了.正所谓万事俱备,只欠东 ...
- Inno Setup怎样创建一个自动申请管理员身份运行的快捷
如果你使用的是 Unicode 版本的 Inno Setup,那么以下是更为专业的解决方法. 这是 mlaan 提及的再一种方法. QUOTE( CodeAutomation3.iss) ...
- Inno Setup制作安装包的几个问题
1. 卸载时,如何判断应用程序是否运行 InnoSetup 提供变量AppMutex,用来保存应用程序的Mutex名称.现在很多应用程序都是唯一实例运行.这样避免配置文件被错误修改以及其他很多衍 ...
- Inno setup中定制安装路径
我的程序修改了安装界面,所以我的界面中提供了更改安装路径的方法. 用户修改后的路径会被传回inno setup脚本,脚本中需要做的事情如下: 1,写一个函数,来返回新的安装路径,如: function ...
- Inno setup定制安装界面
Innosetup功能很强大,可以通过它提供的Wizard接口来定制界面,但我对PASCAL语言不熟悉,也不清楚通过那种接口可改动的范围有多大,最后做出来的效果是否好,所以选择了通过一个DLL来实现我 ...
随机推荐
- 最近学习java时的记录
1.java 的变量一共分为三种,类变量,局部变量,成员变量 类变量就是 加static修饰符的变量 2.java 的修饰符可分为两大类,一 可访问修饰符 protected private publ ...
- 谈谈ES6箭头操作符
如果你会C#或者Java,你肯定知道lambda表达式,ES6中新增的箭头操作符=>便有异曲同工之妙.它简化了函数的书写.操作符左边为输入的参数,而右边则是进行的操作以及返回的值Inputs=& ...
- acm->stl
容器 queue 队列 定义 queue的定义需要两个参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque类型 基本方法 push(x) 入队,将x接到队列的末端 ...
- CSS 选择器优先级问题
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> &l ...
- SpringMvc支持跨域访问,Spring跨域访问,SpringMvc @CrossOrigin 跨域
SpringMvc支持跨域访问,Spring跨域访问,SpringMvc @CrossOrigin 跨域 >>>>>>>>>>>> ...
- 设置TrackMouseEvent捕获WM_MOUSEHOVER和WM_MOUSELEAVE消息
WM_MOUSEHOVER(非客户区消息为WM_NCMOUSEHOVER)消息表示鼠标在客户区悬浮消息,WM_MOUSELEAVE(非客户区消息为WM_NCMOUSELEAVE)为鼠标离开客户区消息, ...
- Redis基本数据结构总结之SET、ZSET和HASH
Redis基本数据结构总结 前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我 ...
- Luogu 1060 开心的金明 / NOIP 2006 (动态规划)
Luogu 1060 开心的金明 / NOIP 2006 (动态规划) Description 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨 ...
- Unity Shader入门教程(一)
参考文献:http://www.360doc.com/content/13/0923/15/12282510_316492286.shtml Unity Shader是着色器,将纹理.网格信息输入,得 ...
- hbase集群导入csv文件
小数据文件导入: 样例 hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator="," ...