inno setup打包脚本总结

inno setup是比较简单好用的一款打包工具。

下面以打包HelloWorld.exe为例进行说明。

一、打包目录的建立

  • 创建source目录:用于放置主程序、依赖dll、资源等待打包文件。
  • 创建output目录:用于存放生成的安装包。
  • HelloWorld.iss:使用inno setup向导生成的打包脚本。

如下所示:

在这里插入图片描述

进行打包时,只需要编译HelloWorld.iss,就可以了。

二、修改脚本

使用向导生成的脚本HelloWorld.iss,内容如下:

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "Hello World App"
#define MyAppVersion "1.5"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "HelloWorld.exe"

[Setup]
; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{9AE31757-84AA-4D2F-9CB3-AF1CB2DB0AF4}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\{#MyAppName}
DisableProgramGroupPage=yes
; Uncomment the following line to run in non administrative install mode (install for current user only.)
;PrivilegesRequired=lowest
OutputDir=D:\test\output
OutputBaseFilename=mysetup
Compression=lzma
SolidCompression=yes
WizardStyle=modern

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "D:\test\source\HelloWorld.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\test\source\Qt5Core.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\test\source\translations\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

一般情况下,脚本不修改,也可以,只是有一些不足的地方。

我们也可以进行部分修改,然后定制一些功能。

1、绝对路径改为相对路径

如果我们的打包脚本需要进行提交上库的话,使用绝对路径,由于大家本地路径不一致,所以,这个脚本会被反复修改,很麻烦。使用相对路径来解决这个问题。

输出目录

OutputDir=D:\test\output

修改为:

OutputDir=output

输入目录

[Files]
Source: "D:\test\source\HelloWorld.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\test\source\Qt5Core.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\test\source\translations\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

修改为:

[Files]
Source: "source\HelloWorld.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "source\Qt5Core.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "source\translations\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

2、开始菜单中建立文件夹

默认是没有放在文件夹中的,如下:

在这里插入图片描述

我们在[Setup]下添加如下一行,表示文件夹名称为"Hello World App"

DefaultGroupName={#MyAppName}

并在[Icons]下添加如下一行,表示在"Hello World App"文件夹下创建一个名为Hello World App的快捷方式,它指向的文件为Filename中指定的HelloWorld.exe,其工作目录为{app}指向的应用程序安装目录

Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; WorkingDir:"{app}"

修改后的脚本:

在这里插入图片描述

重新编译,安装后效果,如下:

在这里插入图片描述

3、修改为默认创建桌面快捷方式

安装过程中,默认是不勾选创建快捷方式的,如下:

在这里插入图片描述

若需要默认就勾选。那么修改[Tasks]下,Flags的值。

Flags值

Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

修改为:

Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkablealone

重新编译,安装时默认勾上,如下:

在这里插入图片描述

4、添加卸载菜单

在[Icons]下添加如下一行

Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"

修改后的脚本:

在这里插入图片描述

重新编译,安装后效果,如下:

在这里插入图片描述



若对你有帮助,欢迎点赞、收藏、评论,你的支持就是我的最大动力!!!

同时,阿超为大家准备了丰富的学习资料,欢迎关注公众号“超哥学编程”,即可领取。

本文涉及测试用脚本及文件,公众号回复:InnoSetup打包测试脚本,即可下载。

在这里插入图片描述

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要使用Inno Setup打包MySQL 8.0.30,首先需要下载MySQL的安装程序和Inno Setup软件。 1. 下载MySQL 8.0.30安装程序:进入MySQL官方网站,找到下载页面,下载MySQL 8.0.30的安装程序。保存到本地目录。 2. 下载Inno Setup软件:进入Inno Setup的官方网站,找到下载页面,下载最新版本的Inno Setup软件。保存到本地目录,并安装在你的电脑上。 3. 创建Inno Setup脚本文件:使用文本编辑器,新建一个空的文本文件。将以下代码复制到该文件中: ``` [Setup] AppName=MySQL 8.0.30 AppVersion=8.0.30 DefaultDirName={pf}\MySQL\MySQL Server 8.0 DefaultGroupName=MySQL AllowNoIcons=yes OutputDir=userdocs:Inno Setup Examples Output [Files] Source: "C:\path\to\mysql-8.0.30-installer.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall [Run] Filename: "{tmp}\mysql-8.0.30-installer.exe"; Parameters: "--install-server"; WorkingDir: "{tmp}"; StatusMsg: "Installing MySQL 8.0.30, please wait..." [UninstallDelete] Type: files; Name: "{app}\unins000.dat" Type: files; Name: "{app}\unins000.exe" [Tasks] Name: "desktopicon"; Description: "Create a desktop icon"; GroupDescription: "Additional tasks:"; Flags: unchecked [Icons] Name: "{commondesktop}\MySQL 8.0.30"; Filename: "{app}\{#MyAppExeName}" [Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent ``` 4. 修改脚本文件中的路径:将代码中的"C:\path\to\mysql-8.0.30-installer.exe"修改为你自己保存MySQL安装程序的路径。 5. 保存脚本文件:将该文本文件保存为任意名称的脚本文件,并将文件后缀改为.iss。 6. 编译安装程序:在Inno Setup安装目录中,找到并运行Inno Setup编译器(iscc.exe)。在编译器中选择刚才保存的脚本文件,并点击编译按钮。将会生成一个名为setup.exe的安装程序。 7. 运行安装程序:双击生成的setup.exe文件,按照安装程序的提示和选项进行MySQL的安装。 通过以上步骤,你就可以使用Inno Setup打包MySQL 8.0.30,并生成一个可执行的安装程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百里杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值