在本文中,我们将逐步介绍创建 Windows 可执行文件(.exe)的过程,以便在 Windows 上发布 Flutter 桌面应用程序。
打包和发布适用于 Windows 的 Flutter 桌面应用程序
要了解如何为 Windows 构建和发布 msix 版本,请查看集成&部署的官方文档。
译者注:使用msix库时,如遇到
msvcp140.dll等类似库导致的问题,可以参考这个讨论。
第一步
从此处下载并安装最新版本的 Visual Studio(社区版免费)。
下载并安装 Inno 安装软件(链接),它将帮助我们创建 Windows 可执行文件。
第二步
在 VS Code 中打开 Flutter 项目,在终端中执行构建命令。
译者注: 也可在android studio 的terminal中执行此构建命令。 相关产物位于项目根目录下的
/build/...目录中,具体可参考官方文档。
flutter build windows --release
它将在以下位置创建 .exe 文件以及一些 .dll 文件和包含资产的数据文件夹:
C:\\path\to\project\build\windows\runner\Release
第三步
上述文件不足以分发和运行应用程序,因为目标(最终用户)计算机中还需要 Visual C++ 运行库。
为确保所需库的可用性,可复制以下 Visual Studio .dll 文件:
-
msvcp140.dll -
msvcp140_1.dll -
msvcp140_2.dll -
vcruntime140.dll -
vcruntime140_1.dll
上述文件存在于下方目录中(不同的vs版本,可能存在差异):
C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\
Redist\MSVC\14.34.31931\x64\Microsoft.VC143.CRT\
并将其与其它 .dll 文件一起放在项目构建所产出的文件夹中。
第四部
启动 Inno Setup,点击 Ok,使用脚本向导创建新脚本。
点击下图中所示的Next按钮:
输入应用程序的详细信息,如名称、版本、发布者名称和网站,如下所示:
选择应用程序的根文件夹和应用程序文件夹名称,如下图所示。您也可以允许用户更改该位置。
单击Browser并选择我们在步骤 2 中生成的主 .exe 文件。
单击Add Files...,然后选择 Release文件夹中的所有 .dll 文件。
单击Add Folder...并添加之前创建的数据文件夹。该文件夹包含字体、图像等所有资产。
向下滚动列表,选择data文件夹路径,然后单击 Edit...按钮。
此处要确保目标子文件夹具有相同的data名称,否则程序安装后将无法运行,因为文件夹中的所有内容都会分散到外部。因此,请将目标子文件夹的名称输入为data,然后单击OK。
现在,点击 Next,如下图所示。
如果要将应用程序以特定文件类型打开,请指定文件类型名称和扩展名,如下所示。
指定用户是否可以创建快捷方式,如下图所示。
如果您的应用程序有软件许可证文件,可以如下所示在 license.txt 中添加路径。它可以是任何类型的许可证,包括 MIT、Apache-2、GPL 等开源许可证。用户在安装应用程序时会看到许可证。此外,您还可以提供一些在软件安装前后显示的信息。
如下图所示,指定应用程序的安装模式或允许用户选择安装模式。
指定应包含的安装包(setup)语言。
指定输出文件夹名称和自定义设置图标文件。这将是编译后exe文件的路径。
单击 Next,然后单击 Finish完成脚本向导,如下图所示。
第五步
上述步骤完成后,会生成一个inno 安装脚本。必须运行该脚本才能生成安装程序。如下图所示,系统会提示你编译脚本。请按 YES。
如果您为了对脚本进行二次修改,而关闭了提示,可以再次单击下图所示的RUN按钮,生成 Windows .exe安装程序文件。
该脚本可轻松编辑和执行,为未来的应用程序版本创建 Windows 安装程序。
第六步
.exe 文件可以在我们上一步中指定的输出目录内找到。安装文件的logo也是我们在上一步中选择的自定义logo。
只需双击即可在 Windows 上安装应用程序。如下图所示,安装过程从许可证屏幕开始。
第七步
要通过 GitHub 发布应用程序,可以创建一个新版本并附加 .exe 文件,如下所示。
一旦发布,所有 Windows 用户均可下载 exe 安装文件。
结束语
在本文中,我们学习了如何创建 Windows 可执行文件(.exe),以 “独立 ”或开源方式发布 Flutter 桌面应用程序, 谢谢大家的阅读。