Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
真实路径和 junction 两种入口交叉启动时,更新程序现在能认出自身,完成自占用检查、替换及中断后的恢复。目录符号链接和 8.3 短路径也覆盖双向入口。
Windows 路径解析复用现有句柄查询,支持文件和目录。扫描、根目录核验和 SDK 遍历使用最终 DOS 路径,已载入模块仍使用 NT 设备路径。SDK 映像锁原先也会在 junction 上卡住,一并接入解析;按文件身份锁定映像、拒绝 SDK 内重解析点、换包和恢复顺序均保留。其他平台沿用 EvalSymlinks。
验证环境为 Windows amd64、Go 1.26.5,全部使用隔离的文件和测试进程:
go test ./... -count=1、最终路径回归、gofmt -l .、Windowsgo vet ./...、darwin/arm64 和 linux/amd64 交叉 vet、build.ps1及构建后 CLIversion通过。未启动真实模拟器、游戏或生产实例,未做桌面手工验收。模块查询继续采用现有尽力检查,无法读取或检查后才出现的占用仍由换包错误和恢复处理。
Refs ModAVD/ModAVD#195