fix(updater): Windows gh 更新挪 .old 改用唯一名——固定名残留被旧进程占用时替换式改名被永久拒绝 上一版修复(挪 .old 再落盘)仍会在一种场景卡死:固定的 gh.exe.old 残留 且仍被一个未死透的旧 gh 进程执行(上次更新挪走的那份,又经收养机制接管 存活)。此时 os.Rename(dst, .old) 是替换式改名,替换一个执行中的 exe 报 Access is denied,20 次重试全部无效,更新永久失败。 - uniqueOldPath:.old 恒取当前不存在的名字(.old → .old.2 → .old.3…), 挪向新名字永不触发替换,被占用的旧文件不再阻塞 - cleanStaleOlds:落盘成功后尽力清理同目录 .old* 残留(仍被占用的 留待下次);新增 installDownload/uniqueOldPath 单测