HTML 打包 EXE 工具 · 使用说明
版本:v1.0 | 适用系统:Windows 10 / 11(x64)
购买 / 注册 / 升级专业版:<https://www.010720.cn/p/html2exe>
目录
1. 软件简介
HTML 打包 EXE 工具把任意 HTML5 项目(或在线网址)封装成一个独立的 Windows 桌面程序(.exe),无需浏览器即可运行。
核心能力:
- 双模式打包:本地 HTML 项目(全部资源随 EXE 分发,离线可用)或 在线 URL(套壳打开指定网址)。
- 双内核:默认 Chromium(WebView2,对现代前端框架、WebGL 友好);可选 IE11 / Trident 兼容老旧企业内网系统。
- 两种产物:绿色便携 EXE(PyInstaller,开箱即用)或专业安装包(Inno Setup,带快捷方式、卸载、开机自启)。
- 窗口定制:尺寸 / 标题 / 图标 / 全屏 / 无边框 / 单实例 / 托盘 / 自定义 UA 等。
- 安全防护:AES-256-GCM 资源加密、禁用开发者工具、防截屏录屏。
- 离线授权(专业版):一机一码激活、试用天数 / 启动次数 / 累计时长限制,全程离线验签,无需服务器。
- JS 桥
window.HTMLPackHelper:网页内 JS 可读取版本、机器码、授权信息并主动激活。 - 批量打包:多个工程(.h2eproj)排队依次构建。
本文中的界面截图均为软件真实界面(部分输入内容为示例数据,例如机器码
A1B2C3D4E5F6-9)。
2. 安装与启动
2.1 系统要求
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10 1809 及以上 / Windows 11(64 位) |
| 磁盘空间 | 约 800 MB(安装包内嵌 Python 运行环境与编译器,目标电脑无需另装 Python) |
| 网络 | 安装、注册时需联网;本地模式产物运行时不依赖网络 |
| 浏览器内核 | 默认产物依赖 WebView2 Runtime(Win11 已内置;极少数精简版 Win10 若缺失,程序会提示下载) |
| 权限 | 安装过程需要管理员权限(UAC);日常使用不需要 |
2.2 安装
- 双击
HTML2EXE-Setup-1.0.0.0.exe,在 UAC 提示中选择「是」。 - 按向导选择安装目录(默认
C:\Program Files\HTML2EXE)。 - 安装后可通过开始菜单 → HTML2EXE或桌面快捷方式启动。
安装目录内已包含全部所需组件:
HTML2EXE\
HTML2EXE.exe ← 无控制台窗口的启动器(开始菜单/桌面快捷方式指向它)
python\ ← 便携 Python 运行环境(隔离运行,不污染系统环境变量)
app\ ← 打包器程序与运行时模板
inno6\ ← 内置 Inno Setup 编译器(产出「安装版」时自动调用,无需另行安装)
2.3 卸载
「设置 → 应用 → HTML2EXE → 卸载」,或从开始菜单运行卸载程序。卸载会移除程序文件;您的工程文件(.h2eproj)和输出产物不会被删除。
提示:注册信息保存在当前 Windows 用户的注册表配置单元(
HKCU\Software\HTML2EXE\License),请在卸载前确认是否还需要该注册状态。
3. 三分钟快速上手
以把一个本地 H5 项目打成单文件绿色 EXE为例:
- 选源:左侧选「📁 打包源」→ 确认「本地 HTML 项目」→「浏览…」选择项目文件夹(须包含入口页面,通常是
index.html),入口文件下拉框会自动列出目录下的 .html/.htm。 - 看统计:点「扫描并统计」查看纳入打包的文件数与总体积,确认没有把
node_modules等无关大目录打进去(默认已排除)。 - 填信息:到「📝 PE 版本信息」填写应用名称(它同时是 EXE 文件名)和版本号(四段数字,如
1.0.0.0)。 - 先预览(推荐):到「🚀 打包构建」点 👁 预览调试 (F6),不经过完整编译,几秒内按当前配置拉起真实窗口,先确认效果。
- 打包:点 ▶ 开始打包(F5)。首次构建约 30~60 秒,日志区实时输出进度;完成后点「打开输出目录」获取 EXE。
在线 URL 模式只需第 1 步切换为「在线 URL(远程站点)」并填入网址即可,其余步骤相同。注意在线模式的产物只是一个浏览器外壳,页面内容需要最终用户能访问到目标网址。
4. 主界面总览
主窗口分三部分:顶部菜单栏 / 工具栏(含右上角版本状态)、左侧功能导航树、右侧配置表单。

- 菜单栏:文件(新建 / 打开 / 保存工程)、构建(F5/F6/F7)、工具(激活码生成器)、帮助(注册、帮助文档 F1)。
- 工具栏右侧版本按钮:免费版为橙色「免费版|点击注册」,专业版为绿色「专业版(永久 / 至 YYYY-MM-DD)」,点击该按钮即可打开注册窗口。
- 左侧导航树:9 个配置页按打包流程从上到下排列,新手按顺序走一遍即可完成配置。
- 状态栏:显示就绪状态与授权复核提示。
5. 各功能页详解(含参数选择建议)
5.1 打包源

打包模式
| 选项 | 说明 | 选择建议 |
|---|---|---|
| 本地 HTML 项目 | 把整个站点目录打进 EXE,通过内置本地 HTTP 服务加载,完全离线运行 | 绝大多数场景选这个。Vue/React 等构建后的 dist 目录可直接打包 |
| 在线 URL(远程站点) | EXE 仅作为客户端外壳,打开指定网址 | 适合内网系统入口、会议大屏展示、给已有网站做桌面入口;内容更新无需重新打包,但要求用户网络可达 |
本地项目参数
| 参数 | 含义 | 建议 |
|---|---|---|
| 源目录 | H5 项目根目录(入口页面所在目录) | 选择构建产物目录(如 dist),不要选仓库根目录 |
| 入口文件 | 启动时加载的首页 | 一般 index.html;下拉只列根目录下的 html,子目录入口可直接手输相对路径 |
| 排除目录 | 不纳入打包的文件夹名,逗号分隔 | 默认排除 node_modules, .git, .idea, .vscode;有 src(源码目录)、.svn、mock 等也建议加上 |
| 排除扩展名 | 不纳入打包的后缀,逗号分隔 | 默认排除 .tmp, .bak, .log;建议补充 .map(source map,分发无意义且会暴露源码结构)、.psd、.sketch |
| 扫描并统计 | 按排除规则统计文件数与体积 | 打包前必点一次,用于发现误打包的大文件 |
在线 URL 参数
| 参数 | 含义 | 建议 |
|---|---|---|
| URL | 启动打开的网址 | 建议填完整 https:// 地址;页面内资源路径尽量使用相对路径或与站点同源 |
| 忽略证书错误 | 允许自签名 HTTPS(内网常见) | 仅对内网自签名证书站点开启;公网站点保持关闭,关闭才能防止中间人风险 |
5.2 输出格式

| 产物 | 特点 | 适用场景 |
|---|---|---|
| 便携 EXE(PyInstaller) | 绿色免安装,可选单文件或文件夹;拷过去就能跑 | 内部工具、临时分发、U 盘携带、免安装环境 |
| Installer 安装包(Inno Setup) | 单个 setup.exe,LZMA2 压缩;含开始菜单 / 桌面快捷方式、完整卸载、可选开机自启 | 正式商业分发首选,用户体验与常规 Windows 软件一致 |
建议:
- 给客户 / 上级单位正式交付 → Installer;自己用 / 内部快速分发 → 便携 EXE。
- Installer 模式固定以「文件夹版(onedir)」作为内嵌载荷(启动快),此时「打包构建」页的「单文件 EXE」选项自动禁用,属于正常现象。
- 安装版打包器已内置 Inno Setup 编译器,选择 Installer 输出无需在电脑上另行安装 Inno Setup。
5.3 窗口配置

窗口尺寸
| 参数 | 默认 | 建议 |
|---|---|---|
| 宽度 / 高度 | 1280 × 720 | 通用推荐值。面向 1366×768 老笔记本的场景建议不超过 1280×720;大屏可视化可设 1920×1080 |
| 最小宽度 / 最小高度 | 800 × 600 | 按页面布局的断点设置,避免用户缩到太小导致控件重叠; kiosk(自助终端)类可与宽高相同锁死 |
标题与图标
| 参数 | 建议 |
|---|---|
| 窗口标题 | 留空则自动使用「PE 版本信息」里的应用名称;多品牌定制时可单独填写 |
| 图标文件 | 支持 .ico/.png/.jpg/.bmp/.webp,非 ico 自动转换。最佳实践是提供含 16/32/48/256 多尺寸的 256×256 .ico,任务栏 / 标题栏 / Alt+Tab 各场景都清晰;PNG 建议正方形、≥256px |
窗口行为
| 开关 | 作用 | 选择建议 |
|---|---|---|
| 启动时全屏 | 打开即全屏 | 展厅大屏、自助机、游戏选;普通办公软件不要开 |
| 允许 F11 切换全屏 | 用户可自行全屏 / 退出 | 建议保持开启(默认开),把选择权交给用户 |
| 允许调整窗口大小 | 可拖拽缩放 | 响应式页面建议开;固定尺寸的老式页面可关闭防止排版错乱 |
| 无边框窗口 | 去掉系统标题栏,由页面自己承担视觉 | 适合 kiosk、定制皮肤;普通应用慎用(需要页面内自己提供关闭 / 拖动逻辑) |
| 单窗口实例 | 重复启动时激活已有窗口而非开新进程 | 绝大多数应用建议开(默认开),可避免多个实例抢本地端口 |
| 禁用页面缩放(Ctrl+滚轮) | 只拦浏览器缩放,不影响页面自身滚轮逻辑 | 看板、大屏、全景类建议开(默认开) |
| 关闭时最小化到系统托盘 | 点 ✕ 隐藏到托盘,托盘菜单可恢复 / 退出 | 仅后台驻留类(IM、监控、下载器)开启;会增大约 10.9 MB 产物体积 |
| 开机自启 | 随 Windows 启动 | 仅 Installer 输出有效;便携版勾选无效 |
退出行为
- 关闭窗口时弹出确认 + 自定义确认文案:防误触场景(表单录入、大屏)使用,默认关闭。默认文案「确定要退出吗?」。
其它
| 参数 | 建议 |
|---|---|
| 自定义 UA | 留空使用默认 WebView2 标识。仅在站点对 UA 有特殊判断时填写(例如需要拿到移动端页面、绕过老旧站点的浏览器拦截) |
| 初始位置 X / Y | 默认「居中」(值为 -1 时居中)。多屏 / 固定工位需要窗口出现在指定坐标时才填写 |
🎯 全景 360° 一键推荐设置:如果打包的是 krpano / Pannellum / 七二〇云等全景应用,直接点此按钮,自动套用 1280×720、可调整、保留标题栏与右键、F11 全屏、禁浏览器缩放等推荐组合,避免逐项试错。
5.4 PE 版本信息

这些信息会写入 EXE 的 Windows 文件属性(在 EXE 上右键 → 属性 → 详细信息 可见),Installer 模式下同时写入安装程序信息。
| 字段 | 规则 / 建议 | |
|---|---|---|
| 应用名称 | 同时作为 EXE 文件名与默认窗口标题,建议中文 / 英文均可,避免 `\ / : * ? " < > | ` 等文件名字符 |
| 版本号 | 必须为四段数字 主.次.修订.构建,如 1.0.0.0、2.3.1.0;格式错误时下方红字即时提示 | |
| Software ID | 反向域名风格,如 com.company.myapp。用于单实例互斥、一机一码授权、资源加密密钥派生——软件发布后不要随意更改,否则激活码与加密包全部失效 | |
| 公司名称 | 发行方 / 公司名,可留空 | |
| 版权所有 | 如 Copyright (C) 2026 某某公司 | |
| 应用描述 | 一句话说明,会显示在文件属性中 |
5.5 高级选项

| 分组 | 参数 | 说明与建议 |
|---|---|---|
| 渲染内核 | 浏览器内核 | Chromium(WebView2,推荐):支持现代 JS(ES6+、fetch、Promise)、WebGL、Vue/React 构建产物。IE11 / Trident:仅支持 ES5,无 fetch/Promise/WebGL,JS 桥为 XHR 回调写法;只在对接「只能跑在 IE 下的老旧企业内网系统」时使用,选中后界面会显示黄色限制说明。IE 内核产物不依赖 WebView2 Runtime,依赖系统已启用 IE11 |
| 本地服务 | HTTP 端口 | 默认「自动(推荐)」,每次启动挑选空闲端口。仅当目标环境有严格防火墙策略、需要固定端口白名单时才手动指定(1024~65535 推荐,避开 80/443/3306 等常用端口) |
| 启动画面 | 启动画面 | 可选 PNG/JPG 图片,在 WebView 初始化期间显示。建议图片控制在几百 KB 内、与窗口比例接近;大图会增大产物体积 |
| 启动画面 | 背景色 | 留空为白色;建议填写与启动页背景一致的色值(如 #FFFFFF),避免画面图片透明区域或加载前后出现色差 |
| 运行行为 | 禁用页面右键菜单 | 展示类页面(宣传、大屏)可开;全景 / 在线地图 / 依赖右键菜单的播放器不要开(全景一键设置会自动关闭此项) |
| 运行行为 | 本地资源禁用缓存 | 为本地服务响应加 no-store。本地资源本身在 EXE 内,正常无需开启;只在反复调试、怀疑缓存旧资源时临时使用 |
| 运行行为 | 防截屏 / 录屏 | 调用 Windows SetWindowDisplayAffinity,开启后窗口在截图、录屏、远程协助、屏幕共享中呈黑屏。适合内部敏感系统;注意需向用户明示,且部分远程桌面场景窗口内容将不可见 |
5.6 安全加密

资源加密(AES-256-GCM)
- 启用后,打包时对资源加密,EXE 运行时解密到临时目录加载。
- 密钥由 Software ID + 随机盐经 PBKDF2-SHA256(10000 次迭代)派生。
| 选项 | 建议 |
|---|---|
| 启用资源加密 | 需要防止用户直接从 EXE 中翻出 HTML/JS 时开启(启用此项要求已填写 Software ID) |
| 加密文本类资源(.html/.css/.js/.json) | 建议开启:体积几乎不变,能挡住直接复制源码 |
| 加密二进制资源(图片 / 模型等) | 默认关:加密后每个文件运行时都要解密,体积与首次启动时间都会增加;仅当图片 / 3D 模型本身是核心资产(如付费素材、美术资源)时才开 |
运行时防护
- 禁用开发者工具:拦截 F12、Ctrl+Shift+I/J/C、Ctrl+U。正式对外分发可开;自己调试阶段不要开,否则无法排查页面问题。
⚠ 安全边界:该加密属于混淆级保护——用于防止普通用户直接提取资源,无法抵御专业逆向(密钥必须随 EXE 分发才能离线运行,这是所有离线加密方案的共同前提)。更高安全要求请配合服务端接口鉴权、核心逻辑不下发。
5.7 离线一机一码授权(专业版)
这是专业版核心功能:EXE 内置 RSA-2048 公钥,激活码由您手里的打包器私钥签发,整个售卖 / 激活流程不依赖任何服务器。
免费版下本页整体锁定(橙色提示条),勾选框、激活码生成器入口均不可用:

专业版注册后解锁:

| 参数 | 含义 | 建议 |
|---|---|---|
| 启用离线一机一码授权 | 总开关。启用后产物首次运行进入激活 / 试用流程 | 只在正式收费版本的工程中开启;免费渠道包不开 |
| 试用时长 | 未激活可试用的天数(0~3650) | 0 = 不提供试用(必须激活才能进)。常见设 7 / 15 / 30 天;设长建议配合启动次数限制防滥用 |
| 最大启动次数 | 试用 / 授权期内可启动次数 | 0 = 不限制。按次售卖(如演示版 20 次)时设置;正式售卖一般保持不限制 |
| 累计运行时长上限 | 所有启动的累计小时数 | 0 = 不限制。适合「按时长租售」(如 500 小时);注意是累计运行时间,不是自然日 |
| 六类提示文案 | 过期 / 未激活 / 激活码错误 / 机器码不匹配 / 启动次数耗尽 / 时长耗尽时弹窗文案 | 默认文案已可直接使用;可改为带联系方式的文案,如「授权已过期,请联系微信 xxx 续期」 |
签发流程(开发者 ↔ 最终用户):
- 用户运行未激活的 EXE,在激活页看到机器码(32 位 HEX,可带连字符),发给您。
- 您在打包器中点「🛠 打开激活码生成器…」(或菜单「工具 → 激活码生成器」)。
- 确认 Software ID 与工程一致,粘贴用户机器码,设定该用户的限制,点「生成激活码」。
- 把生成的激活码整段发给用户,用户粘贴激活;凭证经 RSA-2048 验签后用 DPAPI 加密保存在用户本机。

务必备份主密钥:签名私钥仅保存在打包器数据目录(安装版在
%LOCALAPPDATA%\HTML2EXE\data)。私钥丢失 = 无法再为已发售软件签发激活码;私钥泄露 = 他人可伪造激活码。
机器码绑定 Windows 用户与硬件环境,重装系统 / 大面积更换硬件会变化,属于正常现象,给用户重新签发即可。
5.8 JS 桥

启用后网页内可通过全局对象 window.HTMLPackHelper 与外壳交互:
| API | 作用 |
|---|---|
getVersion(cb) | 获取应用版本号 |
getMachineCode(cb) | 获取本机机器码(用于在网页内做激活页,用户无需另找入口) |
getLicenseInfo(cb) | 获取授权状态(是否激活、到期时间、剩余次数 / 时长等) |
activate(code, cb) | 提交激活码(仅启用离线授权后可用) |
getStartUrl(cb) | 获取启动 URL(授权通过后的跳转地址,仅授权场景可用) |
| 参数 | 建议 |
|---|---|
| 启用 window.HTMLPackHelper JS 桥 | 默认开启;页面完全不调用也无副作用,安全敏感且确定不用时可关 |
| 允许来源 | 默认 *(不限制)。如果页面会加载第三方 iframe 且不希望它们能调到本机 API,请改为精确来源白名单,逗号分隔,例如 https://www.example.com, http://localhost:5500 |
调用写法:
// Chromium 内核:支持 Promise 风格 / 回调均可
HTMLPackHelper.getLicenseInfo(function (info) {
if (!info.activated) {
// 跳转或展示您的激活 UI
}
});
// IE11 内核:仅支持 XHR 回调形式,不要使用 Promise / await
HTMLPackHelper.getVersion(function (v) {
console.log("version:", v);
});
5.9 打包构建

| 参数 / 按钮 | 说明与建议 |
|---|---|
| 输出目录 | 产物输出位置,默认桌面。建议每个工程固定一个独立 dist 目录,避免多个工程产物互相覆盖 |
| 单文件 EXE | 勾选(默认):最终只有一个 exe,便于分发,但每次启动要先自解压到临时目录,慢 1~3 秒,且被杀软误报概率略高。取消勾选:输出一个文件夹(onedir),启动明显更快,适合配合 Installer 安装包或内网共享文件夹分发 |
| EXE 图标 | 可留空(使用默认图标)。支持 .ico 与常见图片格式,非 ico 构建时自动转换;多尺寸 .ico 效果最好 |
| ▶ 开始打包(F5) | 执行完整构建:准备暂存区 →(可选)加密 → PyInstaller 封装 →(可选)Inno 出安装包 |
| 👁 预览调试(F6) | 不调用 PyInstaller,直接用运行时模板按当前配置拉起窗口,秒级出结果。改了窗口 / 内核 / 授权页等配置后先预览确认,能省大量等待时间 |
| 📦 批量打包(F7) | 多个 .h2eproj 排队构建,见下章 |
| 进度 / 构建日志 | 滚动进度条表示构建进行中;日志区实时输出 PyInstaller 等子进程的完整输出,构建失败时先看日志最后的红色错误行 |
| 打开输出目录 | 构建成功后可用,直接打开产物所在文件夹 |
构建失败的典型日志关键词:No module named(缺 Python 依赖,便携环境一般不会出现)、Unable to find(图标 / 源目录路径填错)、Inno Setup 相关(安装包模式异常时可检查内置编译器是否被杀软隔离)。
6. 工程文件与批量打包
配置可保存为工程文件(.h2eproj,JSON 格式),菜单「文件 → 保存 / 另存为」(Ctrl+S / Ctrl+Shift+S),下次「打开」即可恢复全部配置。建议把工程文件放在项目仓库里统一管理。
批量打包(工具栏或 F7):把多个 .h2eproj 加入队列,顺序自动构建,无需值守;可勾选「统一输出目录」覆盖各工程自身的输出设置。

典型用法:同一套 H5 代码出「免费体验版 / 正式授权版 / 大屏 kiosk 版」三个工程,分别配置后一键批量产出。
注意:免费版打包器构建时,队列中所有产物都会被强制应用免费版限制(水印 / 广告、离线授权关闭)。
7. 免费版与专业版功能对比
打包器自身分免费版与专业版(区别在于打包出来的软件带不带品牌标识、能否使用离线授权)。右上角按钮颜色即当前版本:橙色免费、绿色专业。
| 能力 | 免费版 | 专业版 |
|---|---|---|
| 本地 HTML 项目打包 | ✅ | ✅ |
| 在线 URL 打包 | ✅ | ✅ |
| Chromium(WebView2)内核 | ✅ | ✅ |
| IE11 / Trident 兼容内核 | ✅ | ✅ |
| 便携 EXE(单文件 / 文件夹) | ✅ | ✅ |
| Installer 安装包输出 | ✅ | ✅ |
| 窗口尺寸 / 全屏 / 无边框 / 托盘 / 单实例等全部窗口选项 | ✅ | ✅ |
| PE 版本信息(文件属性) | ✅ | ✅ |
| 启动画面、自定义 UA、固定端口、防截屏、禁用右键 | ✅ | ✅ |
| AES-256-GCM 资源加密(文本 / 二进制) | ✅ | ✅ |
| 禁用开发者工具 | ✅ | ✅ |
| JS 桥 HTMLPackHelper | ✅ | ✅ |
| 预览调试(F6)、批量打包(F7) | ✅ | ✅ |
| 离线一机一码授权(试用 / 激活流程) | ❌ 模块锁定 | ✅ |
| 自定义试用时长 | ❌(模块不可用) | ✅ 0~3650 天 |
| 启动次数 / 累计运行时长限制 | ❌ | ✅ |
| 激活码生成器(RSA-2048 签发) | ❌ 入口禁用 | ✅ |
| 自定义六类授权提示文案 | ❌ | ✅ |
| 产物右下角「免费版」水印 | 有 | 无 |
| 产物启动广告弹窗 | 有(点击跳转官网) | 无 |
| 产物顶部品牌工具条 / 标题栏品牌按钮 | 有 | 无 |
| 商业用途 | 仅限学习测试 | ✅ 允许商用 |
升级与购买入口:<https://www.010720.cn/p/html2exe>
8. 注册专业版
注册为在线校验(首次激活需联网),注册信息保存在本机,之后日常使用与打包不再依赖网络。
- 点击工具栏右上角橙色「免费版|点击注册」按钮,或菜单「帮助 → 注册专业版…」。
- 在注册窗口中点「复制机器码」,把机器码发送给管理员 / 在购买页面提交。

- 点左下角「获取注册码」可直接用默认浏览器打开购买页面:<https://www.010720.cn/p/html2exe>。
- 拿到注册码后粘贴到「注册码」输入框(格式
XXXXXX-XXXXX-…,支持直接粘贴整段),点「注册」。 - 提示「注册成功」后,右上角按钮变为绿色「专业版(永久)」或「专业版(至 YYYY-MM-DD)」,离线授权页随即解锁。
说明:
- 已注册状态下仍可重新打开注册窗口输入新注册码(换码 / 续期),窗口顶部会显示当前授权状态。
- 「帮助 → 取消注册」可移除本机注册状态,取消后恢复为免费版(不影响此前已打包出的专业版产物)。
- 注册时如遇安全软件拦截联网、或公司网络限制,请更换网络后重试;注册码与机器码绑定,换机需重新购买 / 迁移授权。
9. 常见问题 FAQ
Q1:打包出的 EXE 在别人电脑上白屏 / 提示缺少 WebView2?
默认内核是 Chromium(WebView2)。Win11 与较新 Win10 已内置 Evergreen Runtime;精简版系统可能缺失,安装微软官方「WebView2 Runtime」即可。老旧系统无法安装时,可在「高级选项」改用 IE11 内核(注意页面须兼容 ES5)。
Q2:单文件 EXE 启动慢?
单文件版每次启动需把载荷自解压到临时目录。取消「单文件 EXE」改用文件夹版(onedir)可显著加快启动;正式分发建议直接选 Installer 安装包(内嵌 onedir)。
Q3:360 / 火绒 / Windows Defender 对产物报毒?
PyInstaller 类打包工具的普遍误报现象(单文件版更常见)。可:① 改用文件夹版 / 安装包;② 在「PE 版本信息」填全公司与版权信息;③ 向杀软厂商提交误报申诉;④ 有条件的话对 EXE 进行代码签名证书签名。
Q4:启用加密后页面打不开 / 资源 404?
先不勾选「加密二进制资源」重试(个别被非标准方式加载的文件可能在解密时序上有特殊要求);确认 Software ID 填写且发布后未变更;用 F6 预览调试定位是哪类资源的问题。
Q5:防截屏开启后,我自己截图也是黑屏?
这正是该功能的预期效果——任何屏幕捕获 API 拿到的都是黑帧。演示 / 录教程期间临时关闭即可。
Q6:固定 HTTP 端口后启动报端口冲突?
端口被其他软件占用。改回「自动」,或换一个不常用高端口号(如 18080)。单实例模式可防止自己的程序多开抢端口。
Q7:在线 URL 模式打开内网 HTTPS 站点报证书错误?
在「打包源」勾选「忽略证书错误(自签名 HTTPS 站点)」。公网网站不要勾选。
Q8:机器码会变吗?用户重装系统后激活码还能用吗?
机器码绑定本机用户环境,重装系统、更换主要硬件可能导致变化,原激活码会提示「机器码不匹配」,用新机器码重新签发一枚即可(授权策略由发行方自行掌握)。
Q9:主密钥文件在哪里?为什么要备份?
安装版主密钥位于 %LOCALAPPDATA%\HTML2EXE\data。它是签发激活码的唯一私钥:丢了就无法继续给老用户续期 / 补发,泄露了别人就能伪造激活码。请在首次生成后离线备份(如加密 U 盘)。
Q10:软件安装在 C:\Program Files 下,数据为什么不写安装目录?
Program Files 默认不可写。打包器已自动把主密钥等数据放到当前用户的 %LOCALAPPDATA%\HTML2EXE\data,升级 / 修复安装不会丢数据。
Q11:怎么确认当前打包出来的会不会带免费版水印?
看主窗口右上角:橙色「免费版」状态下,构建日志会明确输出「免费版标记已写入产物:右下角水印 + 启动广告弹窗 + 标题栏品牌按钮」;注册为专业版后重新打包即无任何品牌标识。
Q12:重新打包会不会把测试时生成的临时文件带进去?
构建只复制「打包源」页指定的目录并遵循排除规则;输出目录、工程文件不会被打入。分发前用「扫描并统计」核对文件清单最稳妥。
附录 A:默认参数速查表
| 模块 | 参数 | 默认值 |
|---|---|---|
| 打包源 | 模式 / 入口 | 本地 HTML 项目 / index.html |
| 打包源 | 排除目录 | node_modules, .git, .idea, .vscode |
| 打包源 | 排除扩展名 | .tmp, .bak, .log |
| 输出 | 格式 | 便携 EXE(portable) |
| 窗口 | 尺寸 / 最小尺寸 | 1280×720 / 800×600 |
| 窗口 | F11 全屏 / 可调整 / 单实例 / 禁缩放 | 开 / 开 / 开 / 开 |
| 窗口 | 启动全屏 / 无边框 / 托盘 / 开机自启 / 关闭确认 | 关 / 关 / 关 / 关 / 关 |
| 窗口 | 初始位置 | 居中(X=Y=-1) |
| PE 信息 | 应用名 / 版本 / Software ID | My H5 App / 1.0.0.0 / com.example.myapp |
| 高级 | 内核 / HTTP 端口 | Chromium(WebView2)/ 自动(0) |
| 高级 | 禁缓存 / 禁右键 / 防截屏 / 启动画面 | 关 / 关 / 关 / 空 |
| 安全 | 加密开关 / 文本加密 / 二进制加密 / 禁开发者工具 | 关 / 开 / 关 / 关 |
| 授权 | 开关 / 试用天数 / 次数 / 时长 | 关 / 30 天 / 不限 / 不限 |
| JS 桥 | 启用 / 允许来源 | 开 / * |
| 构建 | 输出目录 / 单文件 | 桌面 / 勾选 |
附录 B:快捷键
| 快捷键 | 功能 |
|---|---|
| F1 | 打开在线帮助文档 |
| F5 | 开始打包 |
| F6 | 预览调试 |
| F7 | 批量打包 |
| Ctrl+N / Ctrl+O / Ctrl+S | 新建 / 打开 / 保存工程 |
| Ctrl+Shift+S | 工程另存为 |
本说明随软件版本更新;功能界面以实际安装版本为准。