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

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 相关的注册表项..."