Python 程序打包—使用 Inno Setup Compiler 制作安装包

Inno Setup Compiler 打包安装程序

Inno Setup Compiler 是一个老牌的安装包制作工具,可以将 Pyinstaller 制作的 exe 封装成安装包

因为本文比较长,图比较多,为了防止大家迷路,特此提示。

本文主要讲四部分内容:

  • inno Setup Compiler 的安装配置 ;

  • 配置中文语言包;

  • 手把手教你制作安装包 ;

  • 解决License file 中文乱码问题;

重点是第一部分和第三部分,剩下的两部分大家按需学习。

安装 Inno Setup Compiler

官方地址:https://jrsoftware.org/isinfo.php

首先从官网下载最新版本,安装的时候默认英文就好(没得选)。

其中有一步需要注意,如果需要制作带有安装密码的安装包,就需要将Download and install encryption support 勾选上。

配置中文语言包

inno Setup Compiler 安装后没有中文语言包,也就是不能制作中文界面的安装包,如若想支持中文,需要将中文的.isl文件放到软件的Languages文件夹下,重启软件,这样在接下来选择语言的时候就可以选择中文。

下载中文语言包

打开上边的官网,有提供相应的下载,下载方式如图所示


如果不想自己去寻找,可以直接下载我上传好的,地址如下:

**下载地址(蓝奏云):**https://wwde.lanzouj.com/ir8aQ1dl8mpg

文件名:📄Chinese.zip

配置语言包

将下载好的Chinese.isl放到 📁Languages 文件夹中。

然后重启软件,即可在后续的安装包制作环节选择中文语言。

制作安装程序

制作安装包一共分11步:1.创建空脚本;2.填写软件基本信息;3.设置软件安装路径;4.选择exe及本地资源文件;5.程序关联文件类型;6.安装权限控制;7.许可证;8.允许以管理员模式安装;9.设置安装包语言;10.设置生成安装包的信息;11.编译。

创建空脚本:

首先是创建脚本,按如图操作跟着我一步一步来:

填写安装包基本信息:

这里填写上安装包的基本信息,在用户安装软件时显示。

设置软件默认安装路径:

这里设置软件的默认安装路径,最好勾选上“允许用户更改路径”。

选择 exe 及依赖文件:

选择可执行文件(.exe)和文件夹。

建议将“递归打包子文件夹”勾选上,防止缺少组件导致 exe 运行不起来。

程序关联文件类型:

这个一般不用勾选,特殊需求的勾上设置一下即可。

安装权限控制:

这里设置用户在安装过程中可以勾选的选项。根据需要勾选即可。

许可证:

显示在安装过程中提示的安装许可文件。将提前准备的文本文件选上即可,没有的话跳过即可。

允许用户以管理员模式安装:

是否允许用户以管理员模式安装。在用户安装过程中,可以允许用户以管理员模式安装,建议勾选上。

设置安装包语言:

这里是勾选生成安装包的显示语言,第二步配置中文语言包的目的就是这里可以勾选 Chinese。

设置生成安装包的信息:

这里就按需设置啦。

编译生成安装包:

设置完成后点击 Next 直接编译生成安装包就完成啦!

生成安装包后记得测试安装一下,看有没有什么问题,针对性的再调整调整。

解决 License file 中文乱码问题

如果在安装过程中,许可信息显示中文乱码,是由于 license 文件的编码方式引起的,一般默认是UTF8,设置成UTF8-BOM即可解决。

使用 Windows 自带记事本更改编码方式,保存即可。

总结

这样我们的软件就算圆满的完成啦,可以将你的安装包发给你的小伙伴们”一键安装“啦。


学习资源推荐

除了上述分享,如果你也喜欢编程,想通过学习Python获取更高薪资,这里给大家分享一份Python学习资料。

这里给大家展示一下我进的兼职群和最近接单的截图

兼职群

私单

😝朋友们如果有需要的话,可以 V扫描下方二维码联系领取,也可以内推兼职群哦~

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

### 1.Python学习路线

image-20230619144606466

python学习路线图1

2.Python基础学习

01.开发工具

02.学习笔记

在这里插入图片描述

03.学习视频

在这里插入图片描述

3.Python小白必备手册

图片

4.数据分析全套资源

在这里插入图片描述

5.Python面试集锦

01.面试资料

在这里插入图片描述

在这里插入图片描述

02.简历模板

在这里插入图片描述

因篇幅有限,仅展示部分资料,添加上方即可获取👆

------ 🙇‍♂️ 本文转自网络,如有侵权,请联系删除 🙇‍♂️ ------
### 使用 Inno Setup 打包包含 Python 和 MySQL 的应用程序 #### 1. 准备工作 为了成功使用 Inno Setup 将包含 Python 和 MySQL 的项目打包成可执行文件,需要先准备好以下几个组件并将其合理组织到一个目录结构中: - **Python 解释器及其依赖库**:可以使用 PyInstaller 或其他工具预先将 Python 脚本编译为独立的可执行文件[^4]。 - **MySQL 数据库**:推荐使用免安装版的 MySQL Server,以便更容易地与其他组件集成[^2]。 创建一个基础的工作目录,用于存储所有的必要文件和脚本。例如: ```plaintext project/ │ ├── python_app.exe # 编译后的 Python 应用程序 ├── mysql/ # 免安装版 MySQL 文件夹 │ ├── data/ # 初始化的数据文件夹 (需为空白)[^3] │ ├── sql/ # 存放 SQL 建库语句的文件夹 │ └── my.ini # 配置文件 └── innosetup_script.iss # Inno Setup 脚本文件 ``` --- #### 2. 创建 Inno Setup 脚本 以下是 `innosetup_script.iss` 的基本模板,它定义了如何将上述资源打包成一个完整的安装程序。 ```ini [Setup] AppName=MyApp with Python and MySQL AppVersion=1.0 DefaultDirName={pf}\MyAppWithPythonAndMySQL OutputBaseFilename=myapp_setup Compression=lzma SolidCompression=yes [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "python_app.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "mysql\*"; DestDir: "{app}\mysql"; Flags: recursesubdirs createallsubdirs; Excludes: "mysql\data\*" Source: "mysql\data\"; DestDir: "{app}\mysql\data"; Flags: createallsubdirs skipifsourcedoesntexist Source: "mysql\sql\*.sql"; DestDir: "{app}\mysql\sql"; Flags: createallsubdirs Source: "mysql\my.ini"; DestDir: "{app}\mysql"; Flags: ignoreversion [Run] Filename: "{app}\mysql\bin\mysqld.exe"; Parameters="--initialize-insecure --console"; WorkingDir: "{app}\mysql\bin"; StatusMsg: "Initializing MySQL..."; Flags: runhidden waituntilterminated Filename: "{app}\python_app.exe"; Description: "Launch MyApp"; Flags: postinstall nowait skipifdoesntexist shellexec ``` --- #### 3. 处理 MySQL 初始化 在 `[Run]` 部分中,指定了启动 MySQL 并初始化其数据的操作。这一步会调用 `mysqld.exe` 来生成初始数据库文件,并设置无密码登录模式以简化部署过程。 如果需要导入预设的 SQL 文件,则可以在安装完成后运行额外的命令来加载这些文件。例如,在 `[Code]` 中编写一段 Pascal Script 完成此功能: ```pascal [Code] procedure InitializeDatabase(); var ResultCode: Integer; begin Exec(ExpandConstant('{app}\mysql\bin\mysql.exe'), '--init-command="SOURCE {app}\mysql\sql\setup.sql;"', '', SW_HIDE, ewWaitUntilTerminated, ResultCode); end; procedure CurStepChanged(CurStep: TSetupStep); begin if CurStep = ssPostInstall then InitializeDatabase(); end; ``` --- #### 4. 运行权限问题解决 某些情况下,目标机器可能由于安全策略限制而导致应用无法正常运行或闪退。可以通过调整 Inno Setup 的 `[Setup]` 参数以及 Windows 用户账户控制(UAC)设置来提升兼容性。 修改以下选项确保安装程序具有足够的权限: ```ini PrivilegesRequired=admin RequestExecutionLevel=highest ``` --- #### 5. 测试与发布 完成以上步骤后,利用 Inno Setup 构建最终的一键安装包。测试过程中应验证以下几点: - Python 应用能否正确加载; - MySQL 是否能够顺利初始化并连接至指定端口; - 整体流程是否流畅且稳定。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值