本版本将其应用许可证标识为 CH-J Proprietary Software License, version 1.14,日期为 2026 年 10 月 11 日。第三方组件保留各自的许可证。具有法律约束力的许可证文本仅有英文版本;本页面仅说明接受流程,并不替代或改变许可证文本。
安装与更新
- 网站:下载会立即重定向到所选安装包,无需在网页上表示同意。许可证和运行指南始终可在网站上查阅,并会在使用前于应用中显示。
- Windows NSIS:交互式安装首先以所选的安装程序语言显示指南,然后显示完整的应用许可证,并要求接受许可证。静默安装和更新程序模式可能会跳过安装程序页面;应用在每次启动时始终会检查是否已同意。
- macOS DMG:完整的已签名应用包和“应用程序”快捷方式支持拖放安装。首次启动时会检查指南以及每位用户的许可证接受情况。自定义更新程序会验证并打开同一个 DMG。
- Debian/Ubuntu DEB:软件包管理器无法提供可靠的交互式同意步骤。首次启动时需要接受许可证。
- 所有平台:更新后,必须先接受许可证才能使用新版本,即使版本号或许可证文本没有变化。安装程序中的提示不能替代每位用户在应用中的同意。
启动窗口首先以捷克语、德语或英语显示完整的运行指南。点击 Continue(继续)会打开内置的完整英文许可证,界面控件提供捷克语、德语和英语。在指南步骤显示之前,无法接受许可证。复选框初始为未勾选状态。其标签将许可证同意与对数据丢失风险及适当备份的确认结合在一起;它不会使运行指南成为合同条款。捷克语确认文本如下:
Souhlasím s licenčními podmínkami CH-J Proprietary Software License 1.14.
Beru na vědomí riziko ztráty nebo poškození dat a nutnost přiměřeného zálohování před rizikovými operacemi. Rozumím, že aplikace sama nezaručuje existenci ani obnovitelnost záloh.
接受后,会在任何 Vault、插件、网络、诊断或更新程序服务启动之前保存一条本地记录。拒绝许可证或关闭其窗口会退出应用。保存失败时,窗口保持打开,应用保持锁定。许可证文件缺失或无效会阻止启动。
本地记录
文件 legal/license-acceptance.json 存储在 Electron 的 userData 目录下。它包含许可证名称和版本、所显示文本的精确 SHA-256、应用版本、Build ID、接受标志和时间戳、指南显示标志,以及全部三份内置指南文档的 SHA-256。指南发生更改时,必须重新显示指南,然后才能再次接受许可证。没有许可证激活,也不会向服务器报告。任何不匹配、删除或无法读取的记录都需要重新同意。降级到其他构建版本也需要重新接受。重复启动同一个已接受的构建版本则不需要。
每个版本都必须在 src/shared/buildInfo.json 中拥有唯一的 Build ID。常规构建脚本会自动写入该 ID。不同的已发布构建版本不得重复使用 CHJ_BUILD_ID。
这条本地记录是应用工作流程中的一项控制措施,既不是防篡改的证据,也不是许可证密钥。在此工作流程中,显示运行指南是强制性的;是否遵循其建议则是可选的。指南永远不会包含在同意复选框中。直接/离线安装的 DMG 或 DEB 以及静默安装程序无法保证在安装前显示指南;强制性的启动步骤提供了兜底。网站更新不会更改已发布的二进制文件。
打包与验证
从完整工作区构建时,npm run legal:prepare 会将根目录中的许可证和运行指南复制到应用中,验证许可证版本,并为 NSIS 准备 build/license.rtf、用于其自定义首页的 UTF-16 指南文本,以及为 DMG 准备先显示指南、后显示许可证的 build/installation.rtf。RTF 版本保留完整文本和 Unicode 字符(包括许可方的姓名),不受 DMG 纯文本许可证所沿用的 Mac Roman 编码限制。独立的应用源代码保留其内置副本,不需要开发/网站文件夹。prepare:release 会在打包前运行此步骤。打包程序包含 resources/licenses/ 和 resources/docs/;afterPack 会检查其中必需的内容。
请运行 node --test test/licenseAcceptance.test.js test/licensePackaging.test.js test/i18n.test.js 和 npm run test:license:ui。macOS 安装包冒烟测试只会在其临时测试配置文件中创建接受记录的测试夹具;生产环境的启动流程没有绕过同意的途径。