Files
MyGoNavi/internal/app/windows_update_script.go
Syngnat 60d172254d 🐛 fix(update): 安装前确认并安全关闭当前安装的全部实例
- 安装更新前先确认关闭当前安装目录下的 GoNavi 实例,并继续执行未保存 SQL 退出保护
- 按可执行文件路径枚举并复核进程身份,优雅关闭超时后再强制终止,避免 PID 复用误杀
- 通过全局维护事件阻止更新期间启动新实例,并由 PowerShell 更新器完成跨权限无空窗交接
- 同步更新前端交互、多语言提示、Wails 绑定及 Windows 发布资产校验
2026-07-21 10:55:08 +08:00

26 lines
571 B
Go

package app
import (
_ "embed"
"strings"
)
//go:embed windows_update.ps1
var windowsUpdatePowerShellScript string
type windowsUpdateLaunchContext struct {
SourcePath string
TargetPath string
CurrentTargetPath string
StagedDir string
LogPath string
MaintenanceEventName string
HandoffEventName string
PID int
}
func buildWindowsPowerShellScript() string {
normalized := strings.ReplaceAll(windowsUpdatePowerShellScript, "\r\n", "\n")
return strings.ReplaceAll(normalized, "\n", "\r\n")
}