【翻译】打包和发布 Flutter 桌面应用程序:开源和独立开发者必备指南 - 创建 Windows .exe 安装程序

261 阅读4分钟

原文链接

在本文中,我们将逐步介绍创建 Windows 可执行文件(.exe)的过程,以便在 Windows 上发布 Flutter 桌面应用程序。

打包和发布适用于 Windows 的 Flutter 桌面应用程序

要了解如何为 Windows 构建和发布 msix 版本,请查看集成&部署的官方文档。

译者注:使用msix库时,如遇到 msvcp140.dll等类似库导致的问题,可以参考这个讨论

第一步

此处下载并安装最新版本的 Visual Studio(社区版免费)。

1*Xd6VtncofIEeiWawm6y4eQ.webp

下载并安装 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 文件一起放在项目构建所产出的文件夹中。

1*O3k-5gTv4SfzUpf5a2dqKw.webp

第四部

启动 Inno Setup,点击 Ok,使用脚本向导创建新脚本。

1*N7p9l2Sgy26rxFNgsUNDqg.webp

点击下图中所示的Next按钮:

1*yGWKA_08vawbbDP19mg7oQ.webp

输入应用程序的详细信息,如名称、版本、发布者名称和网站,如下所示:

1*uAw6vBq8grx6KvBlD56HPA.webp

选择应用程序的根文件夹和应用程序文件夹名称,如下图所示。您也可以允许用户更改该位置。

1*MbizC8S9PNrw3bDw2WvC9A.webp

单击Browser并选择我们在步骤 2 中生成的主 .exe 文件。

1*c-uTmgs3Awv0W5_ZJzD6PQ.webp

单击Add Files...,然后选择 Release文件夹中的所有 .dll 文件。

1*RbI1EFjDigroeFzwLFHsaw.webp

单击Add Folder...并添加之前创建的数据文件夹。该文件夹包含字体、图像等所有资产。

1*JwkjhoXsR0gl6rYB9faykA.webp

向下滚动列表,选择data文件夹路径,然后单击 Edit...按钮。

1*OsoqoBm2kJXHBZkUpyfu6A.webp

此处要确保目标子文件夹具有相同的data名称,否则程序安装后将无法运行,因为文件夹中的所有内容都会分散到外部。因此,请将目标子文件夹的名称输入为data,然后单击OK

1*Xvw6sM3_zRKLHZCkW1d3Xw.webp

现在,点击 Next,如下图所示。

1*KCLjZsJS3u7_oBKVeTYLCw.webp

如果要将应用程序以特定文件类型打开,请指定文件类型名称扩展名,如下所示。

1*1xpVy8bNXV6IVvq8so0-1g.webp

指定用户是否可以创建快捷方式,如下图所示。

1*vAkvxpNVuPXb2_ZqHhIvaw.webp

如果您的应用程序有软件许可证文件,可以如下所示在 license.txt 中添加路径。它可以是任何类型的许可证,包括 MITApache-2GPL 等开源许可证。用户在安装应用程序时会看到许可证。此外,您还可以提供一些在软件安装前后显示的信息。

1*LiKD4h1b3PE-AOp8xos5ew.webp

如下图所示,指定应用程序的安装模式或允许用户选择安装模式。

1*6o7z__AvYL0Rx-s0wNP08Q.webp

指定应包含的安装包(setup)语言

1*Vh9oS7q3BcR8OeQpCSQ2FA.webp

指定输出文件夹名称和自定义设置图标文件。这将是编译后exe文件的路径。

1*hG7yXwqL5uYCe_eSlUYZWg.webp

单击 Next,然后单击 Finish完成脚本向导,如下图所示。

1*iVbEpgs0_9gFnwpSokHkdQ.gif

第五步

上述步骤完成后,会生成一个inno 安装脚本。必须运行该脚本才能生成安装程序。如下图所示,系统会提示你编译脚本。请按 YES

1*NgVLmw1wTMF0qufPpYrnkg-2.webp

如果您为了对脚本进行二次修改,而关闭了提示,可以再次单击下图所示的RUN按钮,生成 Windows .exe安装程序文件。

1*Q30ObnzgFecCroJ6KQFfAQ.webp

该脚本可轻松编辑和执行,为未来的应用程序版本创建 Windows 安装程序。

第六步

.exe 文件可以在我们上一步中指定的输出目录内找到。安装文件的logo也是我们在上一步中选择的自定义logo。

1*xlsJHxPr7s72f9fxWANoiw.webp

只需双击即可在 Windows 上安装应用程序。如下图所示,安装过程从许可证屏幕开始。

1*kEwUZhUn3nXHM9So4jlzBg.webp

第七步

要通过 GitHub 发布应用程序,可以创建一个新版本并附加 .exe 文件,如下所示。

1*Pl_pUA0pqKTRQqGBPF1rdg.webp

一旦发布,所有 Windows 用户均可下载 exe 安装文件。

结束语

在本文中,我们学习了如何创建 Windows 可执行文件(.exe),以 “独立 ”或开源方式发布 Flutter 桌面应用程序, 谢谢大家的阅读。