Files
msime-windows/docs/installation.md
T
fanlusky bc37ac9a9e feat(installer): 安装时可自定义数据目录位置
词库、用户配置和皮肤此前固定在 %LOCALAPPDATA%\metasequoiaime,整包几百 MB
全压在 C 盘。安装向导新增一页,允许把这部分数据放到任意盘。

程序本体仍固定装在 Program Files:MetasequoiaImeServer.exe 带 uiAccess=true,
只有在受信任目录里这个标志才生效。

运行期的权威来源是 HKLM\Software\Metasequoia\MetasequoiaIME 的 DataDir。
Server、TSF DLL 和引擎三个组件各自按同一顺序解析:METASEQUOIA_IME_DATA_DIR
环境变量 -> 该注册表值 -> %LOCALAPPDATA%\metasequoiaime。三处各持一份实现,
因为组件边界规则禁止 windows/ 与 server/ 互相 include。32 位 TSF DLL 用
KEY_WOW64_64KEY 读,避开 WOW64 重定向。

安全相关的两个约束:

- 安装器在数据目录里写 .metasequoiaime-data 标记。覆盖安装的清理和卸载的整目录
  删除只在看到这个标记(或目录就是历史默认位置)时才执行——用户可能把数据目录
  指到一个本来就有自己文件的文件夹。
- 选择页与 /DATADIR= 走同一套校验:拒绝相对路径、盘符根目录、不存在的盘、程序
  目录内部,以及 Windows/Program Files/各 AppData/用户主目录本身。

升级时改了位置,PrepareToInstall 在停掉输入法进程后用 robocopy /MOVE 搬运用户
拥有的数据(msime_user.db 及其 WAL/SHM/journal、config.toml、config.base.toml、
skins\),词库和前端资源由本次安装重新写入。跨卷移动目录 MoveFile 会失败,所以用
robocopy。用户词库搬运失败会中止安装:否则新版本对着空的 msime_user.db 启动,
ssPostInstall 的回放只记一句 skipped,用户的自造词就静悄悄没了。

测试侧新增 METASEQUOIA_IME_CONFIG_DIR,只改 config.toml 的位置而不搬词库。原先
靠重定向 LOCALAPPDATA 做隔离的办法在装了正式版的机器上已不再成立——注册表值
的优先级高于它。
2026-09-17 22:49:19 +08:00

82 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 安装水杉输入法
> 本文描述当前内测版的安装流程。具体版本号、下载链接与该版本的已知问题一律以 [Releases](https://github.com/metasequoiaime/MSIME-Windows/releases) 页面为准——这里不再写死版本号,避免文档落后于实际发布。
## 目录
- [环境要求](#环境要求)
- [下载](#下载)
- [安装与注意事项](#安装与注意事项)
- [在Windows中启用水杉](#在Windows中启用水杉)
- [常见问题](#常见问题)
## 环境要求
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10 / Windows 11 |
| 处理器架构 | 同时提供 64 位与 32 位组件,x64 / x86 Windows 均可安装 |
| 磁盘空间 | 安装包约 61 MB,安装后占用约 250 MB[待确认:实测安装后目录大小] |
| 网络 | 云联想、AI 联想、语音输入、候选词翻译等在线功能需要联网;离线状态下本地输入不受影响 |
| 其他 | 使用手写识别需先在 Windows 中安装「中文手写包」 |
| Visual C++ 运行库 | **需要 x64 版**。TSF DLL 采用静态 CRT 构建,被加载进宿主进程时不依赖 MSVCP140 / VCRUNTIME140;但 Server 与设置程序是动态 CRT 的 64 位程序,缺少运行库时会表现为服务反复退出、设置窗口一闪即关。详见下文[常见问题](#常见问题) |
## 下载
最省事的方式是用[官网下载页](https://msime.app/download/):它读取的 `update.json` 始终指向当前推荐的版本,并附带该安装包的 SHA256 校验值。
也可以直接从 GitHub 取:
1. 打开 [Releases 页面](https://github.com/metasequoiaime/MSIME-Windows/releases)。
2. 下载最上面那个版本的 `MetasequoiaIME_Setup_v<版本号>.exe`。
Releases 页面计划分两个频道:
| 频道 | 页面上的样子 | 来源 | 谁该用 |
|---|---|---|---|
| 发布 | 正常发布,最新的一个带 **Latest** 徽章 | 人工挑选后发布 | **一般都用这个** |
| 自动构建 | 标记 **Pre-release**,版本带 `-beta` 且标题带「(自动构建)」 | 每次合并到 `main` 后由 CI 自动发布,未经人工挑选 | 只在需要某个尚未进入发布频道的修复、且能接受未经验证的改动时用 |
> **目前发布频道还是空的。** 迄今为止的每一个 release 都标着 **Pre-release**,所以页面上不会出现 **Latest** 徽章,`releases/latest` 这个地址也是 404——上表描述的是计划中的做法,不是页面当下的样子。在第一个人工挑选的发布出现之前,直接取列表最上面那一个即可。
>
> 无论哪个频道,当前都还是内测阶段,版本号仍在 `0.x`,功能与稳定性可能变动,重要环境建议先在虚拟机或非主力机试用。「发布」频道的含义是「有人挑过」,不是「已经稳定」。
> 参与内测与反馈:[Telegram 群](https://t.me/msimegroup)、QQ 群 829919142。
## 安装与注意事项
双击安装包,按安装向导提示完成安装。
- 安装默认路径是C:\Program Files\MetasequoiaIme
- 安装程序会把水杉输入法加入输入法列表,无须手动添加
- 安装完成后自动启动 `MetasequoiaImeServer`
## 在Windows中启用水杉
使用 `Win + 空格` 在已安装的输入法之间切换,或用 `Ctrl + Shift` 切换。
## 常见问题
### 安装后无法切换到水杉,或设置窗口一闪即关
绝大多数情况是缺少 **Visual C++ 2015–2022 Redistributable(x64)**。
TSF DLL 被加载进宿主程序进程,采用静态 CRT 构建,不依赖运行库;但 Server 和设置程序是独立的 64 位程序,采用动态 CRT,缺少运行库时进程会在启动阶段直接退出。典型表现有三种:切换不到水杉输入法、Server 反复退出、设置窗口打开后立即消失。
到[微软官方下载页](https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist?view=msvc-170)下载 `vc_redist.x64.exe` 安装,然后重启 Windows。
**注意 x86 与 x64 是两套独立的运行库。** 即使机器上已经装了较新的 x86 版本,也不能替代这里需要的 x64 版本。Windows 事件查看器里如果记录了 `MetasequoiaImeServer.exe` 或 `MetasequoiaImeSettings.exe` 因 `MSVCP140.dll` 或 `VCRUNTIME140.dll` 无法启动,就是这个原因。
### 候选窗始终不出现
先确认已安装 **Microsoft Edge WebView2 Runtime**(在「设置 → 应用 → 已安装的应用」里搜索 WebView2)。当前版本的候选窗由 WebView2 渲染,运行时缺失会导致窗口无法显示。
### 手写识别没有候选结果
需要先在 Windows 中安装「中文手写包」:设置 → 时间和语言 → 语言和区域 → 中文(简体,中国)→ 语言选项 → 手写。
### 其他问题
在 [Issues](https://github.com/metasequoiaime/MSIME-Windows/issues) 中反馈。为便于定位,请附上:输入法版本号、Windows 版本(`Win + R` 输入 `winver`)、出问题的宿主程序、以及最小复现步骤。
与按键、候选窗相关的问题,可以在数据目录下的 `config.toml`(默认 `%LOCALAPPDATA%\metasequoiaime\config.toml`,安装时若选了别的位置就在那里)的 `[general]` 段设 `tsf_diagnostic_log = true`,复现一次后附上日志。日志中可能包含你输入的内容,贴出前请先自行检查。