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

@@ -2,48 +2,51 @@
### 🏆 重大改进 ### 🏆 重大改进
- **核心架构升级**:与内核 Mihomo 采用 IPC 通信,不再依赖 Restful API 通信,提升性能和稳定性 - **核心架构升级**:与内核 `Mihomo` 采用 `IPC` 通信,不再依赖 `Restful API` 通信,提升性能和稳定性
- **流量监控系统重构**:前端实现全新的增强流量监控系统,支持数据压缩、采样和智能缓存 - **流量监控系统重构**:前端实现全新的增强流量监控系统,支持数据压缩、采样和智能缓存
- **数据验证机制**:引入类型安全的数据验证器,确保 API 响应数据的一致性和可靠性 - **数据验证机制**:引入类型安全的数据验证器,确保 `API` 响应数据的一致性和可靠性
- **配置缓存架构**:实现智能配置缓存系统,支持后端数据缓存和强制刷新机制 - **配置缓存架构**:实现智能配置缓存系统,支持后端数据缓存和强制刷新机制
### ✨ 新增功能 ### ✨ 新增功能
- 增加 `Verge Version` 复制按钮 - 增加 `Verge Version` 复制按钮
- 新增增强型流量监控 Hook支持高级数据管理与采样 - 新增增强型流量监控 `Hook` 支持高级数据管理与采样
- 支持原始/压缩流量数据处理与时间范围查询 - 支持原始/压缩流量数据处理与时间范围查询
- 引用计数管理器智能收集数据 - 引用计数管理器智能收集数据
- 新增流量监控诊断工具与错误边界组件 - 新增流量监控诊断工具与错误边界组件
- 多版本画布流量图表,丰富可视化选项 - 多版本画布流量图表,丰富可视化选项
- 新增强制刷新 Clash 配置/节点缓存功能,提升更新响应速度 - 新增强制刷新 `Clash` 配置/节点缓存功能,提升更新响应速度
- 增加代理请求缓存机制,减少重复 API 调用 - 增加代理请求缓存机制,减少重复 `API` 调用
### 🚀 性能优化 ### 🚀 性能优化
- IPC 通信机制显著提升数据传输效率 - `IPC` 通信机制显著提升数据传输效率
- 智能数据采样和压缩减少内存占用 - 智能数据采样和压缩减少内存占用
- 引用计数机制避免不必要的数据收集,提升整体性能 - 引用计数机制避免不必要的数据收集,提升整体性能
- 优化流量图表渲染性能,支持大数据量展示 - 优化流量图表渲染性能,支持大数据量展示
- 改进前端数据获取和缓存策略 - 改进前端数据获取和缓存策略
- 实现配置/节点缓存 TTL 机制,减少不必要的配置/节点请求 - 实现配置/节点缓存 `TTL` 机制,减少不必要的配置/节点请求
- 改进 Clash 配置/节点刷新间隔从5秒优化到60秒减少系统资源消耗 - 改进 `Clash` 配置/节点刷新间隔从5秒优化到60秒减少系统资源消耗
- 同步设置页面所有按钮
### 🐞 修复问题 ### 🐞 修复问题
- 修复系统主题窗口颜色不一致问题 - 修复系统主题窗口颜色不一致问题
- 修复 URL 编码处理,正确处理特殊字符 - 修复 `URL` 编码处理,正确处理特殊字符
- 增强代理更新的错误处理机制 - 增强代理更新的错误处理机制
- 修复 JSON 解析错误处理 - 修复 `JSON` 解析错误处理
- 优化调试日志输出,减少噪音 - 优化调试日志输出,减少噪音
- 修复配置修改后前端缓存不同步问题 - 修复配置修改后前端缓存不同步问题
- 改进核心启动/停止/重启后的状态刷新机制 - 改进核心启动/停止/重启后的状态刷新机制
- 修复 `Windows` 安装器删除用户自启问题
- 修复 `Windows` 安装器参数使用错误问题
### 🔧 技术改进 ### 🔧 技术改进
- 移除过时的 Http 控制 Mihomo统一使用 IPC 控制 - 移除过时的 `Http` 控制 `Mihomo` 统一使用 `IPC` 控制
- 添加外部控制器配置和 UI 支持 - 添加外部控制器配置和 `UI` 支持
- 改进 IPC 路径处理,支持 Unix 系统特定功能 - 改进 `IPC` 路径处理,支持 `Unix` 系统特定功能
- 优化 IPC 目录安全检查和路径解析 - 优化 `IPC` 目录安全检查和路径解析
## v2.3.2 ## v2.3.2

View File

@@ -661,7 +661,7 @@ SectionEnd
Pop $R0 Pop $R0
${If} $R0 = 0 ${If} $R0 = 0
IfSilent kill 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: kill:
!if "${INSTALLMODE}" == "currentUser" !if "${INSTALLMODE}" == "currentUser"
nsis_tauri_utils::KillProcessCurrentUser "${MAINBINARYNAME}.exe" nsis_tauri_utils::KillProcessCurrentUser "${MAINBINARYNAME}.exe"
@@ -762,8 +762,18 @@ Section Install
!insertmacro CheckIfAppIsRunning !insertmacro CheckIfAppIsRunning
!insertmacro CheckAllVergeProcesses !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 文件 ; 删除 window-state.json 文件 .window-state.json 文件
DetailPrint "开始删除删除 window-state.json or .window-state.json" DetailPrint "开始删除 window-state.json or .window-state.json"
SetShellVarContext current 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"
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 !insertmacro RemoveVergeService
; 删除 window-state.json 文件 .window-state.json 文件 ; 删除 window-state.json 文件 .window-state.json 文件
DetailPrint "开始删除删除 window-state.json or .window-state.json" DetailPrint "开始删除 window-state.json or .window-state.json"
SetShellVarContext current 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"
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 "所有用户桌面快捷方式删除完成" DetailPrint "所有用户桌面快捷方式删除完成"
; 删除用户开始菜单文件夹 ; 删除用户开始菜单中的应用程序文件夹和快捷方式
Delete "$SMPROGRAMS\$AppStartMenuFolder\${PRODUCTNAME}.lnk" DetailPrint "删除用户级开始菜单中的应用程序文件夹和快捷方式..."
Delete "$SMPROGRAMS\$AppStartMenuFolder\${MAINBINARYNAME}.lnk" RMDir /r /REBOOTOK "$SMPROGRAMS\Clash Verge"
RMDir /r /REBOOTOK "$SMPROGRAMS\$AppStartMenuFolder" RMDir /r /REBOOTOK "$SMPROGRAMS\clash-verge"
DetailPrint "删除用户级开始菜单中的应用程序文件夹和快捷方式完成"
; 删除系统级开始菜单中的 Clash Verge ; 删除系统级开始菜单中的应用程序文件夹和快捷方式
Delete "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Clash Verge\Clash Verge.lnk" DetailPrint "删除系统级开始菜单中的应用程序文件夹和快捷方式..."
Delete "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Clash Verge\clash-verge.lnk"
RMDir /r /REBOOTOK "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Clash Verge" 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 的注册表项 ; 删除所有带 Clash Verge 或 clash-verge 的注册表项
DetailPrint "开始清理所有 Clash Verge 相关的注册表项..." DetailPrint "开始清理所有 Clash Verge 相关的注册表项..."