Unicode true !include "MUI2.nsh" !ifndef APP_VERSION !define APP_VERSION "1.0.0" !endif !ifndef APP_FILE_VERSION !define APP_FILE_VERSION "1.0.0.0" !endif !ifndef SOURCE_DIR !define SOURCE_DIR "dist\ZhenAI-WeCom-Assistant-v${APP_VERSION}" !endif !define APP_NAME "甄AI客服" !define APP_PUBLISHER "甄养堂" ; Qt WebEngine/PyInstaller 程序不能在打包后改名,否则浏览器子进程启动会失败。 !define APP_EXE "ZhenAI-WeCom-Assistant-v${APP_VERSION}.exe" !define APP_DIR_NAME "ZhenAIService" !define UNINSTALL_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\ZhenAIService" Name "${APP_NAME}" Caption "${APP_NAME} 安装程序" OutFile "dist\installer\甄AI客服-安装包-v${APP_VERSION}.exe" InstallDir "$LOCALAPPDATA\Programs\${APP_DIR_NAME}" InstallDirRegKey HKCU "${UNINSTALL_KEY}" "InstallLocation" RequestExecutionLevel user SetCompressor /SOLID zlib ShowInstDetails nevershow ShowUninstDetails nevershow BrandingText "${APP_PUBLISHER}" VIProductVersion "${APP_FILE_VERSION}" VIAddVersionKey /LANG=2052 "ProductName" "${APP_NAME}" VIAddVersionKey /LANG=2052 "ProductVersion" "${APP_VERSION}" VIAddVersionKey /LANG=2052 "CompanyName" "${APP_PUBLISHER}" VIAddVersionKey /LANG=2052 "LegalCopyright" "Copyright (C) 2026 ${APP_PUBLISHER}" VIAddVersionKey /LANG=2052 "FileDescription" "${APP_NAME} 安装程序" VIAddVersionKey /LANG=2052 "FileVersion" "${APP_VERSION}" !define MUI_ABORTWARNING !define MUI_ICON "assets\brand\zhenyangtang-icon.ico" !define MUI_UNICON "assets\brand\zhenyangtang-icon.ico" !define MUI_FINISHPAGE_RUN "$INSTDIR\${APP_EXE}" !define MUI_FINISHPAGE_RUN_TEXT "启动甄AI客服" !define MUI_FINISHPAGE_RUN_NOTCHECKED !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES !insertmacro MUI_UNPAGE_FINISH !insertmacro MUI_LANGUAGE "SimpChinese" Section "安装甄AI客服" MainSection SetShellVarContext current SetRegView 64 SetOutPath "$INSTDIR" ; 清掉旧版单文件 EXE 和上一版的运行库目录,避免新旧 DLL 混装。 Delete "$INSTDIR\ZhenAI-WeCom-Assistant-v*.exe" Delete "$INSTDIR\甄AI客服.exe" RMDir /r "$INSTDIR\_internal" File /r "${SOURCE_DIR}\*.*" WriteUninstaller "$INSTDIR\卸载甄AI客服.exe" CreateShortCut "$DESKTOP\甄AI客服.lnk" "$INSTDIR\${APP_EXE}" "" "$INSTDIR\${APP_EXE}" 0 CreateDirectory "$SMPROGRAMS\甄AI客服" CreateShortCut "$SMPROGRAMS\甄AI客服\甄AI客服.lnk" "$INSTDIR\${APP_EXE}" "" "$INSTDIR\${APP_EXE}" 0 CreateShortCut "$SMPROGRAMS\甄AI客服\卸载甄AI客服.lnk" "$INSTDIR\卸载甄AI客服.exe" WriteRegStr HKCU "${UNINSTALL_KEY}" "DisplayName" "甄AI客服" WriteRegStr HKCU "${UNINSTALL_KEY}" "DisplayVersion" "${APP_VERSION}" WriteRegStr HKCU "${UNINSTALL_KEY}" "Publisher" "${APP_PUBLISHER}" WriteRegStr HKCU "${UNINSTALL_KEY}" "DisplayIcon" "$INSTDIR\${APP_EXE}" WriteRegStr HKCU "${UNINSTALL_KEY}" "InstallLocation" "$INSTDIR" WriteRegStr HKCU "${UNINSTALL_KEY}" "UninstallString" '$\"$INSTDIR\卸载甄AI客服.exe$\"' WriteRegStr HKCU "${UNINSTALL_KEY}" "QuietUninstallString" '$\"$INSTDIR\卸载甄AI客服.exe$\" /S' WriteRegDWORD HKCU "${UNINSTALL_KEY}" "NoModify" 1 WriteRegDWORD HKCU "${UNINSTALL_KEY}" "NoRepair" 1 SectionEnd Section "Uninstall" SetShellVarContext current SetRegView 64 Delete "$DESKTOP\甄AI客服.lnk" Delete "$SMPROGRAMS\甄AI客服\甄AI客服.lnk" Delete "$SMPROGRAMS\甄AI客服\卸载甄AI客服.lnk" RMDir "$SMPROGRAMS\甄AI客服" Delete "$INSTDIR\ZhenAI-WeCom-Assistant-v*.exe" Delete "$INSTDIR\甄AI客服.exe" Delete "$INSTDIR\卸载甄AI客服.exe" RMDir /r "$INSTDIR\_internal" RMDir "$INSTDIR" DeleteRegKey HKCU "${UNINSTALL_KEY}" ; 用户配置和聊天资料位于 %LOCALAPPDATA%\ZhenYangTangRPA,卸载时有意保留。 SectionEnd