inno setup教程,强烈推荐用inno setup打包VB软件,免费!压缩率高、使用简单

3/8/2008来源:C/C++教程人气:8001

;这是我的一款VB6软件《爱乐影音光盘治理大师》的inno setup安装脚本
;这个脚本生成的安装程序请到“软行天下”下载,网址:http://www.sharebank.com.cn/soft/soft_view.php?id=12239; Inno Setup 下载请搜索“Inno Setup”要害字,国人已将这个软件汉化了,感谢汉化作者汉化新世纪 莫名; 请安装Inno Setup 后继续下一步;将这个脚本复制到inno setup内置的编辑器内,稍加修改,即可成为你的VB6软件的安装脚本了
;杏软工作室版权所有 刘付凤,转载时请保持文件完整;Inno Setup 是一个免费的 Windows 安装程序制作软件。
;第一次发表是在 1997 年,Inno Setup 今天在功能设置和稳定性上的竞争力可能已经超过一些商业的安装程序制作软件
;它是真正免费的软件,即使作为商业应用
;还有一个特点,压缩率非凡高,非凡适合VB软件,我这个安装打包后只有3.7M,其他打包工具5M多
;安装程序用编译脚本的方式创建,脚本其实就是一个类似 .INI 文件格式的 ASCII 码文本文件。 (它不象你想象的那么复杂!)
;脚本文件一般可以用安装程序编译器程序内置的编辑器进行编辑。在你编写完脚本后,下一个最终步骤就是选择安装程序编译器
;中的“编译”。创建完成后,就可以运行根据你脚本编译的安装程序了。
;按默认,这个安装程序创建在包含脚本文件目录下的名为“输出”目录中[Setup]
;这个段包含用于安装程序和卸载程序的全局设置。某些提示对于你创建的任何安装程序都是必需的
;一个必需的指示,用以指定你正在安装的应用程序的标题。不包含版本号,与 AppVerName 指示用于同样的目的。AppName 始终在安装过程中显示在安装屏幕的左上角以及安装向导中
AppName=爱乐影音光盘治理大师
;这个必需的指示值应该与 AppName 的值相同 (或类似),但它还应该包含程序的版本号
AppVerName=爱乐影音光盘治理大师 V3.31
;这是所有用于在  windows 2000/XP 中添加/删除程序控件面板对话框中的“支持”信息中显示的内容。这些设置是可选的,在早期的 Windows 版本中无效
AppPublisher=sinyosoft
;这是所有用于在  Windows 2000/XP 中添加/删除程序控件面板对话框中的“支持”信息中显示的内容。这些设置是可选的,在早期的 Windows 版本中无效
AppPublisherURL=http://www.sinyosoft.com
AppSupportURL=http://www.sinyosoft.com
AppUpdatesURL=http://www.sinyosoft.com
;这个必需的指示值是用于选择目标位置向导面中的默认目录名,通常它用一个目录常量作为前缀,{pf}\SinyoCDManager将显示:C:\PRogram Files\SinyoCDManager
DefaultDirName={pf}\SinyoCDManager
;这个指示的值用是在向导的选择开始菜单文件夹页中使用的默认开始菜单文件夹名。假如这个指示是空白或未指定,它将用“默认”作为名字
DefaultGroupName=爱乐影音光盘治理大师
;指定许可协议文件名 (可选),用 .txt 或 .rtf (富文本) 格式,在用户选择程序目标目录前显示
LicenseFile=F:\资料保存\杏软工作室安装包\爱乐影音光盘治理大师\Support\application\License.txt
;指定“自述”文件名 (可选),用 .txt 或 .rtf (富文本) 格式,用于在安装完成后显示
InfoAfterFile=F:\资料保存\杏软工作室安装包\爱乐影音光盘治理大师\Support\Application\请先读我.txt
;这是指定要在文件中使用的压缩方法,以及压缩标准
Compression=lzma
;假如设为 yes,固实压缩将启用。这会使所有文件一次性压缩
SolidCompression=yes[Tasks]
;这个段是只选的。它定义安装程序在执行安装期间所有由用户定制的任务。这些任务以选项框和单选项形式在附加任务向导页中出现
; 注重: 下面的条目包含一个中文用语 (“创建桌面快捷方式”和“添加快捷方式”)。假如需要你可以翻译为其它语言。
Name: "desktopicon"; Description: "创建桌面快捷方式"; GroupDescription: "添加快捷方式:"; Flags: checkedonce
; 注重: 下面的条目包含一个中文用语 (“创建快速运行栏快捷方式”和“添加快捷方式”)。假如需要你可以翻译为其它语言。
Name: "quicklaunchicon"; Description: "创建快速运行栏快捷方式"; GroupDescription: "添加快捷方式:"; Flags: checkedonce
[Files]
;这是定义安装程序安装文件到用户系统中的可选文件段
;因这是VB软件,除软件本身包含的文件外,还必须包含相关的链接库
;以下即软件本身的文件,注:安装目录下有一个 "\Data" 的子目录
Source: "F:\资料保存\杏软工作室安装包\爱乐影音光盘治理大师\Support\Application\CDManager.EXE"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\资料保存\杏软工作室安装包\爱乐影音光盘治理大师\Support\Application\Data\*"; DestDir: "{app}\Data"; Flags: ignoreversion
Source: "F:\资料保存\杏软工作室安装包\爱乐影音光盘治理大师\Support\Application\请先读我.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\资料保存\杏软工作室安装包\爱乐影音光盘治理大师\Support\Application\CDManager.exe.manifest"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\资料保存\杏软工作室安装包\爱乐影音光盘治理大师\Support\Application\License.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\资料保存\杏软工作室安装包\爱乐影音光盘治理大师\Support\Application\爱乐影音光盘治理大师帮助.chm"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\资料保存\杏软工作室安装包\爱乐影音光盘治理大师\Support\Application\Data\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs
; 注重: 不要在任何共享系统文件中使用“Flags: ignoreversion”;以下是VB6 RunTime,本工作室严格测试过,可保证在Windows98第一版下正常运行VB6软件
Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\ASYCFILT.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile
;注重COMCAT.DLL版本号必须是4.71的,不能用5.0版本
Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\COMCAT.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver
Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\EXPSRV.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile
Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\MsRepl35.dll"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile
Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\MSVBVM60.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver
Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\MSVCRT40.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile
Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\OLEAUT32.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver
Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\OLEPRO32.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver
Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\STDOLE2.TLB"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile
Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\VB6CHS.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile
;以下是OCX控件及DAO组件
;这个软件用的是DAO3.5、MSFLXGRD、MSCOMCT2
Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\DAO350.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver
Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\DiskID32.dll"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile
Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\FLXGDCHS.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile
Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\MSCC2CHS.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile
Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\MSCMCCHS.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile
Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\MSCOMCT2.OCX"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver
Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\MSCOMCTL.OCX"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver
Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\MSFLXGRD.OCX"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver
Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\MSJet35.dll"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile
Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\MSJInt35.dll"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile
Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\MSJtER35.dll"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile
Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\MSRD2x35.dll"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver
Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\VB5DB.dll"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile
Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\VBAJET32.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile
;以下是本安装非凡需要的
;还用了个免费的“魔鬼XP按钮控件”,在此一并感谢作者,在98、2K、XP-sp2下测试通过,占用资源一般
;发现了几个BUG(不太影响使用),预备提交给作者
Source: "F:\资料保存\杏软工作室安装包\爱乐影音光盘治理大师\Support\UserControl\MageanButtonV1_2_0.ocx"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver
;这是上一个控件需要的,必须打包上
Source: "F:\资料保存\杏软工作室安装包\爱乐影音光盘治理大师\Support\UserControl\Picclp32.ocx"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver[INI]
;这是你希望安装程序在用户系统中设置 .INI 文件条目的可选段。
;写一个文件“访问我们.url”用于访问作者网站
Filename: "{app}\访问我们.url"; Section: "InternetShortcut"; Key: "URL"; String: "http://www.sinyosoft.com"[Icons]
;这个可选段定义所有创建在开始菜单和/或其它位置 (比如桌面) 的快捷方式
Name: "{group}\爱乐影音光盘治理大师"; Filename: "{app}\CDManager.EXE"
Name: "{group}\爱乐影音光盘治理大师帮助"; Filename: "{app}\爱乐影音光盘治理大师帮助.chm"
Name: "{group}\请先读我"; Filename: "{app}\请先读我.txt"; 注重: 下列条目包含一个中文用语 (“网站”)。假如需要你可以翻译为其它语言。
Name: "{group}\访问主页"; Filename: "{app}\访问我们.url"
Name: "{userdesktop}\爱乐影音光盘治理大师"; Filename: "{app}\CDManager.EXE"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\爱乐影音光盘治理大师"; Filename: "{app}\CDManager.EXE"; Tasks: quicklaunchicon[Run]
; 注重: 下列条目包含一个中文用语 (“运行”)。假如需要你可以翻译为其它语言。
;[Run] 段是可选的,用来指定程序完成安装后、在安装程序显示最终对话框之前要执行的程序
Filename: "{app}\CDManager.EXE"; Description: "运行 爱乐影音光盘治理大师"; Flags: nowait postinstall skipifsilent[UninstallDelete]
;这个可选段定义你想让卸载程序删除除用 [Files] 或 [Dirs] 条目安装/创建外的其它文件或目录,或由你应用程序创建的一些公共使用的 .INI 文件。卸载程序在卸载时最后一步处理这些条目
Type: files; Name: "{app}\访问我们.url"