外观
安装与部署
安装由 StudioInstaller.exe 完成。它做两件事:把运行时文件部署到 Studio 的 Managed 目录,然后用 Cecil 改写 Studio.Startup.dll 注入引导入口。
动手之前
- 先完全退出 Studio 2.0,否则
Studio.Startup.dll被占用,改写会失败。 - 安装目标在
Program Files下,需要以管理员身份运行。 - 必须使用完整的发行包(含
deps/、bin/、StudioInstaller.exe),缺文件安装器会直接报错中止。
安装步骤
退出 Studio 2.0。
把发行包解压到任意目录(例如
D:\StudioModFramework)。右键
StudioInstaller.exe→ 以管理员身份运行。在命令行菜单中输入编号选择自动识别的 Studio,或输入
M手动指定目录或Studio.exe路径(直接回车可打开文件选择窗口)。观察控制台输出,出现下面的字样即安装成功:text================================================== Installation SUCCESSFUL! StudioModLoader is now hooked into Studio 2.0. Press [F10] in Studio to open the in-game overlay. ==================================================启动 Studio 2.0,按
F10呼出控制台,能看到「框架信息」即部署正常。
安装器做了什么
① 定位 Studio 安装目录
检测 C:\Program Files\Studio 2.0 和 C:\Program Files (x86)\Studio 2.0,在命令行菜单中列出找到的目录供你选择。即使检测到了 Studio,也可以输入 M 手动指定其他安装位置;输入 0 取消。所选目录必须同时包含:
Studio.exeStudio_Data\Managed\Studio.Startup.dll
② 部署运行时文件到 Studio_Data\Managed\
| 文件 | 来源 |
|---|---|
StudioSDK.dll、StudioModLoader.dll | bin/ |
0Harmony.dll、MonoMod.RuntimeDetour.dll、MonoMod.Utils.dll | deps/ |
Mono.Cecil.dll、Mono.Cecil.Rocks.dll | deps/ |
同时把 WebView2 宿主部署到 Managed\WebView2\,把自动更新宿主部署到 Managed\Updater\。
③ 创建 Mods 目录(已存在则跳过)。
④ 备份原文件
首次安装时把 Studio.Startup.dll 复制一份为 Studio.Startup.dll.orig.bak。已存在备份时不会覆盖——这保证无论重装多少次,卸载时还原的都是最初的官方文件。
⑤ IL 注入
在 Studio.Startup.Services.InitializationSequenceService.Initialize() 的首条指令前插入对 StudioModLoader.Bootstrapper.Initialize() 的调用。Studio 启动时该调用最先执行,Loader 由此接管引导。
命令行用法
安装器同时提供命令行开关,方便脚本化部署:
cmd
StudioInstaller.exe :: 安装(默认行为,等同 --install)
StudioInstaller.exe --install :: 安装
StudioInstaller.exe --status :: 输出 Installed 或 NotInstalled
StudioInstaller.exe --uninstall :: 卸载并还原
StudioInstaller.exe --install --studio "D:\Studio 2.0" :: 指定安装目录,跳过选择菜单
StudioInstaller.exe --status --studio "D:\Studio 2.0\Studio.exe"| 退出码 | 含义 |
|---|---|
0 | 成功(--status 时表示已安装) |
1 | 失败(--status 时表示未安装) |
交互运行时会显示目录选择菜单;--studio 可用于安装、状态查询和卸载,直接指定目标并跳过菜单。重定向输入或输出时不会显示菜单,未指定 --studio 时使用第一个自动识别的目录。
双击运行(不带参数)时,程序在结束前会停住并提示 Press Enter to close this window...,方便你看完输出;带参数或重定向调用时不会在结束后等待按键。
卸载
cmd
StudioInstaller.exe --uninstall卸载流程:
- 用
Studio.Startup.dll.orig.bak覆盖回Studio.Startup.dll,然后删除备份文件。 - 删除部署进
Managed的 Loader / SDK / Harmony / Cecil 等程序集。 - 清空并删除
Managed\WebView2\与Managed\Updater\目录。
卸载不会删除你的 Mod
Mods 目录中的插件不会被卸载程序触碰。要彻底清理,手动删除该目录下的内容即可。
手动安装(进阶)
不用安装器时,按同样的顺序手工操作也可以,但必须自己完成 IL 注入——这是 Loader 能生效的前提,单纯把 DLL 拷进 Managed 目录不会起任何作用。
排查
| 现象 | 原因与处理 |
|---|---|
[Error] Managed folder not found | 选择的目录不是 Studio 安装根目录,检查是否包含 Studio_Data\Managed |
Framework update host is missing | 发行包不完整,重新获取完整包 |
| 安装成功但按 F10 无反应 | Studio 没完全退出就装了,重新运行安装器覆盖一次 |
--status 返回 NotInstalled | StudioModLoader.dll 或 Studio.Startup.dll.orig.bak 缺失 |