Skip to content

打包发布

ENERGY Designer 支持多平台安装包制作,可将编译后的应用程序打包为各平台标准的安装格式。通过 设置 > 构建选项(快捷键 Ctrl+F9 / macOS Cmd+F9)切换到"打包配置"标签页进行设置。

通用配置

配置项说明输入类型默认值
安装包名称生成的安装包文件名文本输入项目名称

macOS 打包

打包格式

格式说明默认值
PKG 安装包macOS 标准安装包格式开启
DMG 镜像macOS 磁盘映像文件关闭
通用二进制 (Universal Binary)同时支持 Intel (amd64) 和 Apple Silicon (arm64) 架构关闭

通用二进制说明: 启用后,构建会自动分别编译 amd64 和 arm64 架构的临时二进制,然后使用 lipo 工具合并为 Universal Binary。需安装 Xcode Command Line Tools。

签名配置

签名功能通过启用/禁用按钮控制开关。配置内容为 codesign 命令列表,每行一条命令。

默认签名命令:

codesign -f -s "-" "$APP_NAME/Contents/Frameworks/$ENERGY.DYLIB"
codesign -f -s "-" --options runtime "$APP_NAME"

说明:

  • -s "-" 表示 ad-hoc 签名(预览运行时使用)
  • 发布时可替换为开发者证书签名
  • --options runtime 启用 hardened runtime(公证要求)

关联文件

配置应用程序关联的文件类型,每行一条记录,使用 | 分隔字段:

扩展名 | 类名 | 类型描述 | 角色 | 优先级 | 图标 | MIME类型

字段说明:

字段说明可选值
扩展名文件扩展名(不含点号)txtpdf
类名唯一的文件类型标识符AppTxtFile
类型描述文件类型的描述文字Text Document
角色应用对该文件类型的角色Editor(编辑器)/ Viewer(查看器)
优先级关联优先级Owner(所有者)/ Default(默认)
图标关联图标文件名MyIcon.icns
MIME 类型MIME 类型标识application/x-gproj

示例:

txt | AppTxtFile | Text Document | Editor | Owner | MyIcon.icns | text/plain

关联协议

配置应用程序关联的 URL 协议,每行一条记录,使用 | 分隔:

协议名称 | 协议描述

示例:

myapp | Open My App

Windows 打包

打包格式

格式说明默认值
EXE 安装包 (MakeNsis)使用 NSIS 脚本生成 Windows 安装程序开启
MSIX 安装包 (MakeAppx)Windows 应用商店格式关闭

默认安装路径

配置项说明输入类型示例
默认安装路径应用程序的默认安装目录文本输入C:\Program Files

签名配置

签名功能通过启用/禁用按钮控制开关。配置内容为 signtool 命令,格式为 key=value,每行一条。

签名模式:

模式格式说明
autoauto=signtool sign /a /fd SHA256 /tr http://timestamp.digicert.com /td SHA256自动选择证书
filefile=signtool sign /f cert.pfx /p 密码 /fd SHA256 /tr http://timestamp.digicert.com /td SHA256指定证书文件路径和密码

说明:

  • /a - 自动选择最佳证书
  • /fd SHA256 - 文件摘要算法
  • /tr - 时间戳服务器 URL
  • /td SHA256 - 时间戳摘要算法
  • /f - 证书文件路径
  • /p - 证书密码

关联文件

配置应用程序关联的文件类型,每行一条记录,使用 | 分隔:

扩展名 | 唯一类名 | 类型描述 | 图标 | 右键菜单文本

字段说明:

字段说明示例
扩展名文件扩展名(不含点号)txt
唯一类名注册表中的文件类型标识AppTxtFile
类型描述文件类型的描述文字My Project File
图标关联图标文件名MyFile.ico
右键菜单文本右键菜单中显示的操作文本Open with Your App

示例:

txt | AppTxtFile | My Project File | MyFile.ico | Open with Your App

关联协议

配置应用程序关联的 URL 协议,每行一条记录,使用 | 分隔:

协议名称 | 协议描述

示例:

myapp | Open My App

NSIS 安装包资源

配置 NSIS 安装程序的视觉资源,格式为 key=value,每行一条:

键名说明支持格式
welcome欢迎页面横幅图片.png / .bmp
header安装程序头部横幅图片.png / .bmp
icon安装程序图标.png / .ico
unicon卸载程序图标.png / .ico

示例:

welcome=assets/welcome.png
header=assets/header.bmp
icon=assets/app.ico
unicon=assets/uninstall.ico

NSIS 许可证

在文本框中输入许可证协议内容,打包时自动生成 UTF-8 BOM 编码的 resources/<项目名>-license.txt 文件并嵌入安装程序。

AppX 资源

配置 MSIX/AppX 打包所需的资源文件,格式为 key=value,每行一条:

键名说明
propertiesLogo属性页面 Logo
square44x44Logo44×44 方形图标(任务栏等)
square150x150Logo150×150 方形图标(开始菜单)
wide310x150Logo310×150 宽幅图标(磁贴)
splashScreen启动画面图片
associateFileIcon文件关联图标
associateProtocolLogo协议关联 Logo

示例:

propertiesLogo=assets/StoreLogo.png
square44x44Logo=assets/Square44x44Logo.png
square150x150Logo=assets/Square150x150Logo.png
wide310x150Logo=assets/Wide310x150Logo.png
splashScreen=assets/SplashScreen.png

Linux 打包

打包格式

格式说明默认值
debDebian/Ubuntu 安装包开启
rpmRed Hat/CentOS/Fedora 安装包关闭
AppImage通用 Linux 应用格式(免安装)关闭

配置参数

配置项说明输入类型默认值示例
依赖包列表应用运行所需的系统依赖包文本输入libc6 (>= 2.17), libgtk-3-0
应用分类应用在桌面环境中的分类文本输入Utility;Development;Utility;
项目主页应用的官方网站地址文本输入https://example.com
维护者安装包维护者信息文本输入Name <email@example.com>
开源协议应用的开源许可证文本输入MITGPL-3.0

依赖包格式规则

格式说明示例
基本格式包名 + 版本约束libc6 (>= 2.17)
多个依赖逗号分隔libc6 (>= 2.17), libgtk-3-0
备选依赖管道符分隔(RPM 仅取第一个)libssl1.1 | libssl3

运行时库自动选择规则:

GUI 渲染框架UI 配置运行时库选择
LCLGTK2GTK2
LCLGTK3GTK3
LCL + WV-GTK3
LCL + CEF-GTK3

打包产物汇总

平台格式生成工具前置要求
macOS.app内置
macOS.pkgpkgbuild系统内置
macOS.dmgcreate-dmgbrew install create-dmg
Windows.exe 安装包NSIS需安装 NSIS
WindowsAppXmakeappx.exe需安装 Windows SDK
Linux.debdpkg-deb需安装 dpkg-dev
Linux.rpmrpmbuild需安装 rpm-build
Linux.AppImage内置需安装 filefakeroot

资源嵌入

打包过程中自动处理以下资源:

资源类型说明
应用图标自动转换为各平台格式(.ico / .icns / .png
版本信息自动嵌入到可执行文件中
Manifest 文件Windows 下自动生成并嵌入
框架运行时自动打包必要的框架库文件(libenergy.dylib / libenergy.so

GO
ENERGY