Skip to content

Installer 概览 ​

StudioInstaller.exe 负责把框架装进 Studio 2.0。它是一个控制台程序,做两件事:

  1. 部署运行时文件 —— 把 Loader、SDK 及其依赖复制到 Studio 的 Managed 目录。
  2. 注入引导入口 —— 用 Cecil 改写 Studio.Startup.dll,让 Loader 能在 Studio 启动时被执行。

只做第一件事是不够的:Managed 目录里放再多 DLL,Studio 也不会主动去加载它们。注入才是让框架生效的关键一步,这也是安装器不能用「手动拷贝文件」替代的原因。

设计要点 ​

特性说明
自动定位扫描 Program Files / Program Files (x86) 并列出编号供选择;也可按 M 手动输入路径或打开文件选择窗口,0 取消
路径直给--studio <目录或 Studio.exe> 跳过选择菜单,适合脚本与 CI
有效性校验目标目录必须同时含 Studio.exe 与 Studio_Data\Managed\Studio.Startup.dll
完整包检查缺少 WebView2 宿主或更新宿主时直接报错中止,不产生半成品安装
备份不覆盖Studio.Startup.dll.orig.bak 只在首次创建,重装不会污染原始备份
原子替换改写结果先写入 .tmp,成功后再删除原文件并改名,避免留下损坏的 DLL
可完整回滚卸载时按备份还原并清理所有部署文件

运行形态 ​

  • [STAThread] 主入口——因为它需要弹出 Win32 文件选择对话框。
  • 自带程序集解析:启动时从 deps/、自身目录、../deps/ 查找 Mono.Cecil 等依赖,所以解压后直接运行即可,不需要额外的运行库安装。
  • 默认行为是安装;带参数时按参数执行(--install / --status / --uninstall)。
  • 找不到 Studio 时不再直接弹窗,而是进入选择菜单(编号 / M 手动 / 0 取消),重定向环境下则取第一个自动识别结果。

相关文档 ​

为 BrickLink Studio 2.0 打造的第三方 Mod 加载框架 · 与 BrickLink / LEGO 官方无关联