Files
Lu Fan(SonnyCalcr) 1b875267db refactor: 移除 WebView2,界面只保留 Direct2D (#1013)
* refactor(engine): 语音独立工具改用原生托盘菜单,移除 WebView2

托盘菜单改用 Win32 弹出菜单,设置项改为用关联编辑器打开 config.toml,关于页改为消息框。删除 window_webview2 与两份 HTML 资源,windows-app 特性不再依赖 webview2 端口。

* refactor(server): 移除 WebView2,候选窗、工具栏、托盘菜单与设置窗口只保留 Direct2D

删除 src/webview2 与 webview_utils,小窗口的置顶、皮肤重载和工具栏状态缓存移到 window/small_windows,presenter 成为唯一路径,D2D 下的置顶时序与 cloak 行为保持不变。设置进程去掉 WebView2 宿主、鼠标转发与启动图,只构建原生窗口;旧快捷方式传入的 --d2d / --webview2 被忽略。删除 appearance.ui_backend 与 appearance.settings_ui_backend(读取、写入、设置页下拉框与两份配置模板),升级时由模板合并丢弃旧值。设置窗口的图片资源移到 server/assets/settings,安装到数据目录的 assets\settings。不再链接 WebView2Loader,vcpkg 去掉 webview2 端口。

* build(installer): 打包与 CI 不再处理 WebView2 页面和运行时

Prepare-PackageFiles 去掉 -UiHtmlDirectory 与 html 暂存,改为暂存 server/assets/settings;安装器不再检查 WebView2 Runtime、不再创建 ProgramData 下的 WebView2 用户数据目录,升级和卸载时清理旧版留下的 webview2 / webview2-settings 与数据目录里的 html。CI 删除设置页构建、契约同步检查和候选窗 DOM 测试,release 的打包任务不再依赖网页产物;dependabot 去掉 npm。第三方声明去掉 WebView2Loader。

* refactor(ui-html): 删除 WebView2 页面与设置页前端工程

候选窗、工具栏、托盘菜单、设置页、主题和契约副本都已没有使用者;设置窗口用到的图片资源已移到 server/assets/settings。sync-contracts.py 与 pnpm/Vite/TypeScript 工程一并删除,契约仍以 engine/contracts/webview 为唯一来源。

* docs(server): 文档改为只描述 Direct2D 界面

仓库地图去掉 ui-html,组件边界、uiAccess 与置顶时序、设置窗口和配置读写的说明改写为 Direct2D 唯一界面;安装说明去掉 WebView2 Runtime 检查,打包命令去掉 -UiHtmlDirectory;engine/contracts/webview 的说明改为设置窗口是唯一使用者,名字是历史遗留。

* docs(skins): 皮肤说明不再区分 WebView2 与 D2D 渲染器

v2 字段去掉「仅 WebView2」,改为说明由 Direct2D 原生渲染、部分字段仍在补全;颜色必须带 # 改为清单格式约定。随包的 skins/niya-demo/skin.toml 不改,免得用户机器上的同名皮肤在升级时被当成已修改而改名备份。

* docs(ui): demo 说明文字不再提 WebView2
2026-10-17 02:48:02 +08:00

82 lines
5.3 KiB
Markdown
Raw Permalink 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` 无法启动,就是这个原因。
### 候选窗始终不出现
候选窗由 Server 用 Direct2D 绘制,不依赖 WebView2 Runtime。先按上一节确认 x64 运行库已安装,再在任务管理器里确认 `MetasequoiaImeServer.exe` 正在运行。在独占全屏的游戏里,候选窗会被有意隐藏,以免把游戏切出全屏。
### 手写识别没有候选结果
需要先在 Windows 中安装「中文手写包」:设置 → 时间和语言 → 语言和区域 → 中文(简体,中国)→ 语言选项 → 手写。
### 其他问题
在 [Issues](https://github.com/metasequoiaime/MSIME-Windows/issues) 中反馈。为便于定位,请附上:输入法版本号、Windows 版本(`Win + R` 输入 `winver`)、出问题的宿主程序、以及最小复现步骤。
与按键、候选窗相关的问题,可以在数据目录下的 `config.toml`(默认 `%LOCALAPPDATA%\metasequoiaime\config.toml`,安装时若选了别的位置就在那里)的 `[general]` 段设 `tsf_diagnostic_log = true`,复现一次后附上日志。日志中可能包含你输入的内容,贴出前请先自行检查。