ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Open-Science Windows安装器完全指南:electron-builder配置与冒烟测试深潜

Open-Science Windows安装器完全指南:electron-builder配置与冒烟测试深潜 Open-Science Windows安装器完全指南electron-builder配置与冒烟测试深潜【免费下载链接】open-scienceAIPOCH Open-Science is an open-source, local-first, model-agnostic AI research workbench for macOS, Windows, and Linux, with scientific agents, Python/R notebooks, data connectors, and reproducible provenance.项目地址: https://gitcode.com/GitHub_Trending/open/open-scienceOpen-ScienceOpen Science是一款开源、本地优先、模型无关的AI 研究工作台支持 macOS / Windows / Linux内置科学 Agent、Python/R 笔记本与可复现溯源。对 Windows 用户来说体验好坏很大程度取决于两件事安装包怎么打出来的以及发布前怎么被验证。这篇文章带你看懂它的 Windows NSIS 安装器配置electron-builder与冒烟测试smoke test流水线帮助你在本地构建或贡献代码时少走弯路。为什么 Windows 只走 NSIS 安装器在 electron-builder.yml 中win段只声明了一个目标nsis。注释里写明了原因Notebook 的AppContainer 隔离配置和防火墙规则是用户级的持久资源如果提供便携 ZIP用户直接删文件夹就会遗留这些资源。因此 Windows 版本必须通过带卸载器的 NSIS 安装器分发由卸载流程统一清理。几个关键配置值得注意oneClick: falseperMachine: falseallowElevation: false使用分步向导式、仅当前用户、免管理员的安装模式安装路径可自由选择electron-builder.ymlartifactName: aipoch-${name}-${version}-win-${arch}-setup.${ext}产物命名带版本与架构冒烟脚本正是靠这个命名反推版本号由于未做代码签名SmartScreen 会显示可绕过的未知发布者提示electron-builder.yml 有明确说明。Windows 安装器打包了哪些资源electron-builder 通过extraResources把一批关键资源放进安装目录的resources/下electron-builder.yml资源用途micromamba.exe按架构暂存的 conda 环境管理器应用内创建 Python/R 运行环境micromamba-compat.exe独立构建的兼容备用版本主二进制无法通过--version检查时兜底windows-runtime-cache-uninstall.ps1卸载时清理运行时缓存windows-notebook-sandbox-uninstall.ps1卸载时删除 Notebook 沙箱的 AppContainer 资源notebook-appcontainer-host.exeNotebook 网络沙箱的隔离宿主进程环境配置向导就是基于这些随包资源工作的首次启动时会引导用户配置模型提供方与计算环境另外全局files段通过大量排除项.claude、.codex、prisma/client、220MB 的 Claude 原生二进制、冗余的 pdfjs-dist 等控制 app.asar 体积electron-builder.yml而 Prisma 客户端、open-scienceCLI 等则以明文文件放进extraResources保证require解析与运行时路径稳定。自定义 NSIS 钩子升级与卸载的数据安全网真正让这套安装器硬核的是 build/installer.nsh 中的自定义宏安装模式钩子customInstallMode强制CurrentUser安装防止 electron-builder 提供提权路径build/installer.nsh升级时数据保护preserveNestedDataRoot宏在旧版卸载器删除安装目录前先把嵌套的用户数据目录OpenScience重命名到安装目录旁的备份路径恢复失败时明确报错并中止绝不动用户数据build/installer.nsh卸载清理customUnInstall仅在真正的卸载而非更新时旧卸载器被调用才执行 PowerShell 脚本删除 Notebook 沙箱资源与运行时缓存清理失败会弹窗并中止卸载保证可重试build/installer.nsh。许可页也由 build/installer-license.nsh 改写为 Apache 2.0 信息页与安装/更新生命周期解耦。冒烟测试安装真实产物并跑通全链路配置写得再漂亮也要靠验证。scripts/windows-installer-smoke.mjs 就是一套在 CI 上安装真实 exe 并执行完整生命周期的冒烟测试定位安装器findSetupInstaller只接受目录中恰好一个-win-x64-setup.exe多个产物直接报错避免测错包scripts/windows-installer-smoke.mjs多阶段升级计划提供上一版安装器时执行previous → current → restart → rollback → current五阶段循环验证升级、重启复用、回滚与数据库迁移台账回滚阶段还会验证降级被正确拦截scripts/windows-installer-smoke.mjs静默安装以/S /Ddir运行安装器随后逐项断言资源文件、执行micromamba.exe --version、跑本地 RPC 冒烟scripts/windows-installer-smoke.mjs应用探活启动已安装应用解析其 Web 端点与 token校验 bootstrap 中版本、平台win32与配置根目录并支持应用正在运行时覆盖安装进程锁场景与孤立卸载器锁等异常场景。配套的单元测试 scripts/windows-installer-smoke.test.ts 则用 vitest 覆盖了参数解析、安装器命名、遗留进程强杀命令等逻辑让重型真机流程之外的部分可以在任何平台快速回归。CI 如何串联这一切在 package-smoke.yml 中Windows 分支下载build阶段产出的精确构件不重新构建、不重复签名然后运行node scripts/windows-installer-smoke.mjs --installer-dir dist失败时可单独重试冒烟任务无需重跑打包。升级专项测试含 WSL2 认证、数据库降级拦截则由windows-upgrade-smoke.yml触发.github/workflows/windows-upgrade-smoke.yml。小结Open-Science 的 Windows 发行策略可以概括为三层防线electron-builder 层NSIS 纯用户级安装精确控制进包/不进包的文件NSIS 钩子层升级前保护用户数据、卸载时安全清理 AppContainer✅冒烟测试层真实安装、真实启动、真实升级回滚全部自动断言。如果你打算本地构建 Windows 安装包只需安装依赖后执行打包命令产物落在dist/再用node scripts/windows-installer-smoke.mjs --installer-dir dist自验一遍即可。更多打包行为细节可参考 build/packaging.test.ts 中对配置的守护测试。【免费下载链接】open-scienceAIPOCH Open-Science is an open-source, local-first, model-agnostic AI research workbench for macOS, Windows, and Linux, with scientific agents, Python/R notebooks, data connectors, and reproducible provenance.项目地址: https://gitcode.com/GitHub_Trending/open/open-science创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表