fix: Windows installer parameter problem (#4213)

* repair and delete the startup item

* fix: parameter usage issues

* Update UPDATELOG.md

* Update UPDATELOG.md

* fix: install
This commit is contained in:
Dyna
2025-07-26 07:52:21 +08:00
committed by GitHub
parent c8dfdb7a5a
commit 9661c5fd82
2 changed files with 39 additions and 24 deletions

View File

@@ -661,7 +661,7 @@ SectionEnd
Pop $R0
${If} $R0 = 0
IfSilent kill 0
${IfThen} $PassiveMode != 1 ${|} MessageBox MB_OKCANCEL "$(appRunningOkKill)" IDOK kill IDCANCEL cancel ${|}
${IfThen} $PassiveMode != 1 ${|} MessageBox MB_OKCANCEL "Clash Verge 正在运行 $\n点击确定以终止运行" IDOK kill IDCANCEL cancel ${|}
kill:
!if "${INSTALLMODE}" == "currentUser"
nsis_tauri_utils::KillProcessCurrentUser "${MAINBINARYNAME}.exe"
@@ -762,8 +762,18 @@ Section Install
!insertmacro CheckIfAppIsRunning
!insertmacro CheckAllVergeProcesses
; 修复系统级启动文件夹
CreateDirectory "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"
DetailPrint "系统级启动文件夹已确保存在"
; 修复用户级启动文件夹
SetShellVarContext current
StrCpy $0 "$SMPROGRAMS\Startup"
CreateDirectory "$0"
DetailPrint "已确保用户级启动文件夹存在: $0"
; 删除 window-state.json 文件 .window-state.json 文件
DetailPrint "开始删除删除 window-state.json or .window-state.json"
DetailPrint "开始删除 window-state.json or .window-state.json"
SetShellVarContext current
Delete "$APPDATA\io.github.clash-verge-rev.clash-verge-rev\window-state.json"
Delete "$APPDATA\io.github.clash-verge-rev.clash-verge-rev\.window-state.json"
@@ -924,7 +934,7 @@ Section Uninstall
!insertmacro RemoveVergeService
; 删除 window-state.json 文件 .window-state.json 文件
DetailPrint "开始删除删除 window-state.json or .window-state.json"
DetailPrint "开始删除 window-state.json or .window-state.json"
SetShellVarContext current
Delete "$APPDATA\io.github.clash-verge-rev.clash-verge-rev\window-state.json"
Delete "$APPDATA\io.github.clash-verge-rev.clash-verge-rev\.window-state.json"
@@ -1029,15 +1039,17 @@ Section Uninstall
DetailPrint "所有用户桌面快捷方式删除完成"
; 删除用户开始菜单文件夹
Delete "$SMPROGRAMS\$AppStartMenuFolder\${PRODUCTNAME}.lnk"
Delete "$SMPROGRAMS\$AppStartMenuFolder\${MAINBINARYNAME}.lnk"
RMDir /r /REBOOTOK "$SMPROGRAMS\$AppStartMenuFolder"
; 删除用户开始菜单中的应用程序文件夹和快捷方式
DetailPrint "删除用户级开始菜单中的应用程序文件夹和快捷方式..."
RMDir /r /REBOOTOK "$SMPROGRAMS\Clash Verge"
RMDir /r /REBOOTOK "$SMPROGRAMS\clash-verge"
DetailPrint "删除用户级开始菜单中的应用程序文件夹和快捷方式完成"
; 删除系统级开始菜单中的 Clash Verge
Delete "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Clash Verge\Clash Verge.lnk"
Delete "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Clash Verge\clash-verge.lnk"
; 删除系统级开始菜单中的应用程序文件夹和快捷方式
DetailPrint "删除系统级开始菜单中的应用程序文件夹和快捷方式..."
RMDir /r /REBOOTOK "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Clash Verge"
RMDir /r /REBOOTOK "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\clash-verge"
DetailPrint "删除系统级开始菜单中的应用程序文件夹和快捷方式完成"
; 删除所有带 Clash Verge 或 clash-verge 的注册表项
DetailPrint "开始清理所有 Clash Verge 相关的注册表项..."