mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-08-09 16:23:27 +08:00
- 安装更新前先确认关闭当前安装目录下的 GoNavi 实例,并继续执行未保存 SQL 退出保护 - 按可执行文件路径枚举并复核进程身份,优雅关闭超时后再强制终止,避免 PID 复用误杀 - 通过全局维护事件阻止更新期间启动新实例,并由 PowerShell 更新器完成跨权限无空窗交接 - 同步更新前端交互、多语言提示、Wails 绑定及 Windows 发布资产校验
26 lines
571 B
Go
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")
|
|
}
|