Files
MemRelay/projects/ea207d36-693c-4349-b3c8-7c40c8c889f5/Checkpoint 2026-08-24 08-20-59 UTC [5d3eb69216].md
T

43 lines
2.6 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.
---
title: Checkpoint 2026-08-24 08:20:59 UTC [5d3eb69216]
type: checkpoint
permalink: main/projects/ea207d36-693c-4349-b3c8-7c40c8c889f5/checkpoint-2026-08-24-08-20-59-utc-5d3eb69216
stable_id: 8db18267-0c12-4446-bfe8-f2f755752c09
scope: project
project_id: ea207d36-693c-4349-b3c8-7c40c8c889f5
memory_type: checkpoint
status: active
revision: 1
restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2
created_at: '2026-09-23T15:11:37.281771+00:00'
updated_at: '2026-09-23T15:11:37.281845+00:00'
tags:
- vm-test
- build-verified
- handoff
---
# VM 端到端测试前复验(2026-08-24)
## 当前状态
- 工作区 `E:\code\WinUnLock`,分支 `main`,HEAD `09662c8`,Git 工作区干净,无远程。
- 当前安装方式为 Rust 安装器 `winunlock-admin.exe`,不使用 PowerShell 安装脚本。
- 工具链:`rustc 1.94.1`、`cargo 1.94.1`、`stable-x86_64-pc-windows-msvc`。
## 本次验证
- `cargo test --release --target x86_64-pc-windows-msvc` 成功:14 个测试通过,0 失败(common 13、provider 1)。
- `cargo build --release --target x86_64-pc-windows-msvc` 成功。
- 四个产物存在:`provider.dll` 586752 B、`client.exe` 518656 B、`setup.exe` 647680 B、`winunlock-admin.exe` 279552 B。
- `winunlock-admin.exe --help` 与 `setup.exe --help` 均退出码 0,中文输出正常。
## VM 测试下一步
1. Windows 10/11 x64 VM 内先确认账户的文本密码可以手动解锁,不能使用 PIN 代替密码;建议使用本地测试账户并准备第二个管理员账户。
2. 安装 Credential Provider 前创建 VM 快照。
3. 可在宿主机编译后只复制四个 release 产物到 VM;`cred.bin` 必须在 VM 内运行 setup 生成,不能跨机器复制。
4. 在 VM 管理员终端运行 `winunlock-admin.exe install --unlock-time HH:MM`,再从管理员终端运行 `%PROGRAMDATA%\WinUnLock\bin\setup.exe --account ".\用户名"` 并交互输入密码。
5. 将触发时间设为约 3 分钟后,执行 `Win+L`,观察自动解锁;成功/失败后检查 `client.log` 与 `provider.log`。
6. 失败时按日志分层判断:无 provider 日志=DLL 未加载/未注册;client 退出码 10=管道未出现;provider 收到凭据但未提交=CredentialsChanged/GetCredentialCount 链路;提交后失败=账户格式、密码或认证包问题。
7. 卸载从构建产物目录以管理员运行 `winunlock-admin.exe uninstall`;锁屏异常时恢复 VM 快照,或在安全模式/WinRE 删除两个 CLSID 注册项。
## 注意
安装器会把 `%PROGRAMDATA%\WinUnLock` ACL 收紧为仅 SYSTEM/Administrators,因此 setup 应在管理员终端运行。