From 2aa2f53d1f4dfb67fb8725206f6bdcf845d87742 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 10 Dec 2024 13:53:25 +0800 Subject: [PATCH] fix: ci --- AB.nsi | 501 -------------------------------------------------------- nbn.nsi | 115 +++++++++++++ 2 files changed, 115 insertions(+), 501 deletions(-) delete mode 100644 AB.nsi create mode 100644 nbn.nsi diff --git a/AB.nsi b/AB.nsi deleted file mode 100644 index 06b77b9..0000000 --- a/AB.nsi +++ /dev/null @@ -1,501 +0,0 @@ -; 安装程序初始定义常量 -!define PRODUCT_NAME "千目容器" -!define PRODUCT_VERSION "V2.1" -!define PRODUCT_PUBLISHER "千目容器" -!define PRODUCT_UNINST_KEY "Software/Microsoft/Windows/CurrentVersion/Uninstall/${PRODUCT_NAME}" -!define PRODUCT_UNINST_ROOT_KEY "HKLM" -!define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir" - -SetCompressor /SOLID lzma - -; ------ MUI 现代界面定义 (1.67 版本以上兼容) ------ -!include "MUI.nsh" -!include "MUI2.nsh" -!include "FileFunc.nsh" -!include "MUI2.nsh" -!include "WinCore.nsh" -!include "WinCore.nsh" -;!include "nsWindows.nsh" -!include "LogicLib.nsh" -!include "TextReplace.nsh" -!include "WordFunc.nsh" -!include "x64.nsh" -;!include "WinVer.nsh" -;!insertmacro MUI_LANGUAGE "simpchinese" - - -!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH - -; MUI 预定义常量 -!define MUI_ABORTWARNING -!define MUI_HEADERIMAGE - -!define MUI_ICON "Sources/1000mu.ico" -!define MUI_UNICON "Sources/removico1000mu.ico" -!define MUI_WELCOMEFINISHPAGE_BITMAP "Sources/dlgbmp.bmp" -!define MUI_UNWELCOMEFINISHPAGE_BITMAP "Sources/dlgbmp.bmp" - -#!define MUI_HEADERIMAGE -!define MUI_HEADER_TRANSPARENT_TEXT ;文字背景透明 -!define MUI_HEADERIMAGE_BITMAP "Sources/banner.bmp" ;大小 500X60 -#!define MUI_HEADERIMAGE_UNBITMAP "Sources/orange-uninstall.bmp" - -; ------ 自定义页面 ------ - -Var ipAddress -Var ipAddress1 -Var ipAddress2 -;Var pic_count -Var BGImage -Var MiddleImage ;中间的大Logo -Var ImageHandle -Var disk -Var disk1 - - - -;---------------------------全局编译脚本预定义的常量----------------------------------------------------- - -; 欢迎页面 --- 这里调整页面顺序 --- -!insertmacro MUI_PAGE_WELCOME -; 许可协议页面 -!define MUI_PAGE_HEADER_TEXT "最终用户许可协议" - -!define MUI_PAGE_HEADER_SUBTEXT "您必须接受此协议才能继续安装!" -!insertmacro MUI_PAGE_LICENSE "Sources/License.rtf" - -; 安装目录选择页面 -!insertmacro MUI_PAGE_DIRECTORY - -; 组件选择页面 -;!insertmacro MUI_PAGE_COMPONENTS - - -; 开始菜单设置页面 -var ICONS_GROUP -!define MUI_STARTMENUPAGE_NODISABLE -!define MUI_STARTMENUPAGE_DEFAULTFOLDER "千目容器" -!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" -!define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" -!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}" -!insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP - -; 安装过程页面 -!define MUI_PAGE_CUSTOMFUNCTION_PRE ExtractFiles ;------------------ 安装过程,图片轮训页面 -!define MUI_PAGE_CUSTOMFUNCTION_SHOW CreateStaticRect -!insertmacro MUI_PAGE_INSTFILES ; 安装过程页面 - -; 安装完成页面 - -!insertmacro MUI_PAGE_FINISH - - - -; 安装卸载过程页面 -!insertmacro MUI_UNPAGE_WELCOME -!insertmacro MUI_UNPAGE_INSTFILES -!insertmacro MUI_UNPAGE_FINISH - -; 安装界面包含的语言设置 -!insertmacro MUI_LANGUAGE "SimpChinese" -; 安装预释放文件 -!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS -; ------ MUI 现代界面定义结束 ------ -; ------ 自定义页面 ------ - -;多用户安装 -;使用SetShellVarContext all 将快捷方式创建到alluser的开始菜单中 -;SetShellVarContext all - -;----------------------------------------------------------------------------------------------- -Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" -OutFile "千目容器1.0.exe" -InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString" -;ShowInstDetails show -ShowInstDetails NeverShow -ShowUninstDetails show -BrandingText "千目容器" -;获取管理员权限 -RequestExecutionLevel admin - - -Section "驱动程序" SEC01 -nsExec::Exec "$INSTDIR/Uninstall.bat" - SetOutPath "$INSTDIR" - SetOverwrite on - ${WordFind2X} ":$INSTDIR" ":" ":" "-1" $R1 ;提取输入的ip,后面function使用 - StrCpy $disk1 $R1 -; MessageBox MB_OK "$disk1" - File /r "IOTContainer/*.*" - ; !insertmacro MUI_STARTMENU_WRITE_BEGIN Application -; CreateDirectory "AllPass" - ; SetOutPath "$INSTDIR/AllPass.SignalR.Hardware.Client" - ; CreateShortCut "$desktop/启动硬件程序.lnk" "$INSTDIR/AllPass.SignalR.Hardware.Client/硬件程序启动脚本_客户端.bat" "" - ;!insertmacro MUI_STARTMENU_WRITE_END - SectionIn RO -SectionEnd - - - -Section -AdditionalIcons - !insertmacro MUI_STARTMENU_WRITE_BEGIN Application -; MessageBox MB_OK "$INSTDIR" - ; WriteINIStr "$INSTDIR/${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" - CreateDirectory "$SMPROGRAMS/$ICONS_GROUP" - SetOutPath "$INSTDIR/IOTContainer" - CreateShortCut "$SMPROGRAMS/$ICONS_GROUP/千目容器.lnk" "$INSTDIR/IOTContainer/IOTContainer.exe" - !insertmacro MUI_STARTMENU_WRITE_END -SectionEnd - - - - - -Section -Post - WriteRegStr HKCU "Software/QianMuContainer" "address" $INSTDIR - WriteUninstaller "$INSTDIR/卸载千目应用.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR/卸载千目应用.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "http://www.baidu.com" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" -SectionEnd - - -; ------自定更新IIS配置, web.config 配置 -Section -Main - DetailPrint "正在安装,请稍等。" - /* - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - Sleep 10000 - */ -SectionEnd - - - -Section "服务程序" -;WriteRegStr HKLM Software/Microsoft/Windows/CurrentVersion/Run Shell $INSTDIR/硬件驱动及通信程序/AllPass.SignalR.Hardware.Client/硬件程序启动脚本_客户端.bat -call GetWindowsVersion - Pop $R0 - ${If} $R0 == 'XP' -;CopyFiles $SMPROGRAMS/$ICONS_GROUP/千目容器.lnk "C:/Documents and Settings/All users/「开始」菜单/程序/启动" -${ElseIf} $R0 == '2003' -;CopyFiles $SMPROGRAMS/$ICONS_GROUP/千目容器.lnk "C:/Documents and Settings/All users/「开始」菜单/程序/启动" -${Else} -;CopyFiles $SMPROGRAMS/$ICONS_GROUP/千目容器.lnk "C:/ProgramData/Microsoft/Windows/Start Menu/Programs/StartUp" -${EndIf} -SectionIn RO -SectionEnd - - -; 区段组件描述 -!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN -!insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "安装文件" -!insertmacro MUI_DESCRIPTION_TEXT ${IIS} "驱动安装程序" -!insertmacro MUI_FUNCTION_DESCRIPTION_END - -/****************************** - * 以下是安装程序的卸载部分 * - ******************************/ - - -Section Uninstall - !insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP - Delete "$SMPROGRAMS/$ICONS_GROUP/软件卸载.lnk" - Delete "$SMPROGRAMS/$ICONS_GROUP/启动硬件程序.lnk" - RMDir /r "$SMPROGRAMS/$ICONS_GROUP" - delete "C:/Documents and Settings/All users/「开始」菜单/程序/启动/千目容器.lnk" - delete "C:/ProgramData/Microsoft/Windows/Start Menu/Programs/StartUp/千目容器.lnk" - - ; ${WordFind2X} "/$INSTDIR" "/" "/" "-1" $R1 ;提取输入的ip,后面function使用 - - SetOutPath "$INSTDIR" - nsExec::Exec "$INSTDIR/Uninstall.bat" - RMDir /r "$INSTDIR/IOTContainer" - RMDir /r "$INSTDIR/log" - RMDir /r "$INSTDIR" - delete "$INSTDIR/卸载千目应用.exe" - DeleteRegKey /ifempty HKCU "Software/QianMuContainer" - DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" -SectionEnd - -#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--# - -Function un.onInit - MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "您确实要完全移除 $(^Name)及其所有的组件?" IDYES +2 - Abort -FunctionEnd - -Function un.onUninstSuccess - HideWindow - MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从您的计算机移除。" -FunctionEnd - -;------------------------------------------------------------------- - -;安装.exe为你想检测的可执行文件 -Function .onInit - ; ------ 自定义页面 ------ - - - ${GetDrives} "HDD" "FindHDD" - ReadRegStr $INSTDIR HKCU / -"Software/QianMuContainer" address -${If} $INSTDIR == '' - StrCpy $INSTDIR $R2Container - ;${Else} - ${EndIf} - StrCpy $disk $R2 - ;${WordFind2X} ":$disk" ":" ":" "-1" $R1 ;提取输入的ip,后面function使用 - ;StrCpy $disk1 $R1 - - File `/ONAME=$PLUGINSDIR/sed.exe` `Sources/sed.exe` - ; SectionSetFlags ${autoStart} 0 ; 安装选项,默认勾选 1, 不勾选 0 -#InitPluginsDir - ;创建互斥防止重复运行 - - System::Call 'kernel32::CreateMutexA(i 0, i 0, t "$$OutFile") i .r1 ?e' - Pop $R0 - StrCmp $R0 0 +3 - MessageBox MB_OK|MB_ICONEXCLAMATION "有一个安装向导已经运行!" - Abort -FunctionEnd - -Function "FindHDD" -;获取查找到的驱动器盘符($9)可用空间(/D=F)单位兆(/S=M) -${DriveSpace} $9 "/D=F /S=M" $R0 -${If} $R0 > $R1 -StrCpy $R1 $R0 -StrCpy $R2 $9 -${EndIf} -Push $0 -FunctionEnd - -Function GetWindowsVersion -Push $R0 -Push $R1 -ClearErrors -ReadRegStr $R0 HKLM / -"SOFTWARE/Microsoft/Windows NT/CurrentVersion" CurrentVersion -IfErrors 0 lbl_winnt -; we are not NT -ReadRegStr $R0 HKLM / -"SOFTWARE/Microsoft/Windows/CurrentVersion" VersionNumber -StrCpy $R1 $R0 1 -StrCmp $R1 '4' 0 lbl_error -StrCpy $R1 $R0 3 -StrCmp $R1 '4.0' lbl_win32_95 -StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98 -lbl_win32_95: -StrCpy $R0 '95' -Goto lbl_done -lbl_win32_98: -StrCpy $R0 '98' -Goto lbl_done -lbl_win32_ME: -StrCpy $R0 'ME' -Goto lbl_done -lbl_winnt: -StrCpy $R1 $R0 1 -StrCmp $R1 '3' lbl_winnt_x -StrCmp $R1 '4' lbl_winnt_x -StrCpy $R1 $R0 3 -StrCmp $R1 '5.0' lbl_winnt_2000 -StrCmp $R1 '5.1' lbl_winnt_XP -StrCmp $R1 '5.2' lbl_winnt_2003 -StrCmp $R1 '6.0' lbl_winnt_vista -StrCmp $R1 '6.1' lbl_winnt_win7 lbl_error -lbl_winnt_x: -StrCpy $R0 "NT $R0" 6 -Goto lbl_done -lbl_winnt_2000: -Strcpy $R0 '2000' -Goto lbl_done -lbl_winnt_XP: -Strcpy $R0 'XP' -Goto lbl_done -lbl_winnt_2003: -Strcpy $R0 '2003' -Goto lbl_done -lbl_winnt_vista: -Strcpy $R0 'Vista' -Goto lbl_done -lbl_winnt_win7: -Strcpy $R0 'Win7' -Goto lbl_done -lbl_error: -Strcpy $R0 '' -lbl_done: -Pop $R1 -Exch $R0 -FunctionEnd - -Function Replacewebconfig ;更改配置文件 web.config - - ClearErrors - FileOpen $9 "c:/tmp/replace1.bat" w - IfErrors done - FileWrite $9 "@echo off$/r$/n" - FileWrite $9 "setlocal enabledelayedexpansion$/r$/n" - FileWrite $9 "set file=$/"$INSTDIR/IOTContainer/ConUpdate.exe.config$/"$/r$/n" - FileWrite $9 "attrib -H -R %file%$/r$/n" - FileWrite $9 "copy c:/tmp/sed.exe C:/Windows/System32 /y$logPath$/r$/n" - FileWrite $9 "$disk1:$/r$/n" - FileWrite $9 "sed -i $/"s@http://192.168.0.128:8889@$/"$ipAddress$/"@g$/" %file%$logPath$/r$/n" - - FileWrite $9 "echo ----- sed替换 HRCM web.config 替换库和 url ----- $logPath$/r$/n" - - FileClose $9 - done: - ${Unless} ${FileExists} "c:/tmp/replace1.bat" - MessageBox MB_OK|MB_ICONSTOP "0replace1writting web.comfig file error!" - Abort - ${EndUnless} - - #ExecWait "c:/tmp/replace1.bat" - ;不显示黑框框 - nsExec::Exec "c:/tmp/replace1.bat" - -FunctionEnd - - - - -;--------sql server ---------- - - -; Function GetNextIp -; input: head of stack -; format: 'ip1;ip2;ip3;ip4;' -; output: 'ip1' head of stack -; 'ip2;ip3;ip4;' second entry of stack - - - -; Function CheckIP -; input: IP-address on stack -; output: additional entry on stack -; 1 - LoopBack IP (localhost, indicates no connection to a LAN or to the internet). -; 2 - Automatic Private IP Address (no DHCP server). -; 3 - Network IP. -; 4 - Internet IP. -; Eg: -; Push '192.168.0.100' -; Call CheckIP -; Pop $0 ; Contains '3' -; Pop $1 ; Contains '192.168.0.100' - - -; Function VersionCheck -; input: 'v1', 'v2' on stack -; output 1 - if number 1 is newer -; 2 - if number 2 is newer -; 0 - if it is the same verion -; Eg: -; Push '3.5.1.4' -; Push '3.5' -; Call VersionCheck -; Pop $0 ; now contains 1 - -;------------------------- - - -/* - -Function LEAVE ;按下一步按钮时消隐标题字。图片号+1 - GetDlgItem $0 $HWNDPARENT 1037 - ShowWindow $0 0 - GetDlgItem $0 $HWNDPARENT 1038 - ShowWindow $0 0 - IntOp $pic_count $pic_count + 1 - SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR/$pic_count.bmp" - FunctionEnd - - Function Back ;按上一步按钮时消隐标题字。图片号-1,如果小于1的话不减了 - GetDlgItem $0 $HWNDPARENT 1037 - ShowWindow $0 0 - GetDlgItem $0 $HWNDPARENT 1038 - ShowWindow $0 0 - IntCmp $pic_count 1 +2 +2 +1 - IntOp $pic_count $pic_count - 1 - SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR/$pic_count.bmp" - FunctionEnd - - Function GUIINIT - GetFunctionAddress $R0 Back - ButtonEvent::AddEventHandler /NOUNLOAD 3 $R0 - - SetOutPath $PLUGINSDIR ;释放图片 - File "Sources/*.bmp" - - SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR/1.bmp" ;先出第一张图片 - StrCpy $pic_count 1 ;图片序号1 -FunctionEnd -*/ -;--------------------------- - - -;处理无边框移动 -Function onGUICallback - ${If} $MSG = ${WM_LBUTTONDOWN} - SendMessage $HWNDPARENT ${WM_NCLBUTTONDOWN} ${HTCAPTION} $0 - ${EndIf} -FunctionEnd - -;------------------------ - - -;------------------------------ - -Function ExtractFiles - InitPluginsDir - File /oname=$PLUGINSDIR/index.htm Sources/index.htm - File /oname=$PLUGINSDIR/1.jpg Sources/1.jpg - File /oname=$PLUGINSDIR/2.jpg Sources/2.jpg - File /oname=$PLUGINSDIR/3.jpg Sources/3.jpg - File /oname=$PLUGINSDIR/4.jpg Sources/4.jpg -FunctionEnd -Function CreateStaticRect - System::Call `*(i,i,i,i)i(0,24,300,116).R0` - System::Call `user32::MapDialogRect(i$HWNDPARENT,iR0)` - System::Call `*$R0(i.s,i.s,i.s,i.s)` - System::Free $R0 - FindWindow $R0 "#32770" "" $HWNDPARENT - System::Call `user32::CreateWindowEx(i,t"STATIC",in,i${DEFAULT_STYLES}|${SS_BLACKRECT},is,is,is,is,iR0,i1100,in,in)i.R0` - # 轮换图片效果由 HTML 所实现,此处仅适用插件来显示网页。 - WebCtrl::ShowWebInCtrl $R0 "$PLUGINSDIR/index.htm" -FunctionEnd - - diff --git a/nbn.nsi b/nbn.nsi new file mode 100644 index 0000000..73d0913 --- /dev/null +++ b/nbn.nsi @@ -0,0 +1,115 @@ +; �ýű�ʹ�� HM VNISEdit �ű��༭���򵼲��� + +; ��װ�����ʼ���峣�� +!define PRODUCT_NAME "qm" +!define PRODUCT_VERSION "1.0" +!define PRODUCT_PUBLISHER "qm, Inc." +!define PRODUCT_WEB_SITE "https://www.1000mu.com" +!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\AppMainExe.exe" +!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" +!define PRODUCT_UNINST_ROOT_KEY "HKLM" + +SetCompressor lzma + +; ------ MUI �ִ����涨�� (1.67 �汾���ϼ���) ------ +!include "MUI.nsh" + +; MUI Ԥ���峣�� +!define MUI_ABORTWARNING +!define MUI_ICON "1000mu.ico" +!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" + +; ��ӭҳ�� +!insertmacro MUI_PAGE_WELCOME +; ����Э��ҳ�� +!define MUI_LICENSEPAGE_CHECKBOX +!insertmacro MUI_PAGE_LICENSE "License.rtf" +; ��װĿ¼ѡ��ҳ�� +!insertmacro MUI_PAGE_DIRECTORY +; ��װ����ҳ�� +!insertmacro MUI_PAGE_INSTFILES +; ��װ���ҳ�� +!define MUI_FINISHPAGE_RUN "$INSTDIR\AppMainExe.exe" +!insertmacro MUI_PAGE_FINISH + +; ��װж�ع���ҳ�� +!insertmacro MUI_UNPAGE_INSTFILES + +; ��װ����������������� +!insertmacro MUI_LANGUAGE "SimpChinese" + +; ��װԤ�ͷ��ļ� +!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS +; ------ MUI �ִ����涨����� ------ + +Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" +OutFile "Setup.exe" +InstallDir "$PROGRAMFILES\qm" +InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString" +ShowInstDetails show +ShowUnInstDetails show +BrandingText " " + +Section "MainSection" SEC01 + SetOutPath "$INSTDIR" + SetOverwrite ifnewer + ;File "..\..\..\..\..\..\path\to\file\AppMainExe.exe" + File /r "IOTContainer\*.*" + CreateDirectory "$SMPROGRAMS\qm" + CreateShortCut "$SMPROGRAMS\qm\qm.lnk" "$INSTDIR\AppMainExe.exe" + CreateShortCut "$DESKTOP\qm.lnk" "$INSTDIR\AppMainExe.exe" + ;File "..\..\..\..\..\..\path\to\file\Example.file" +SectionEnd + +Section -AdditionalIcons + WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" + CreateShortCut "$SMPROGRAMS\qm\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" + CreateShortCut "$SMPROGRAMS\qm\Uninstall.lnk" "$INSTDIR\uninst.exe" +SectionEnd + +Section -Post + WriteUninstaller "$INSTDIR\uninst.exe" + WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\AppMainExe.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\AppMainExe.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" +SectionEnd + +/****************************** + * �����ǰ�װ�����ж�ز��� * + ******************************/ + +Section Uninstall + Delete "$INSTDIR\${PRODUCT_NAME}.url" + Delete "$INSTDIR\uninst.exe" + Delete "$INSTDIR\Example.file" + Delete "$INSTDIR\AppMainExe.exe" + + Delete "$SMPROGRAMS\qm\Uninstall.lnk" + Delete "$SMPROGRAMS\qm\Website.lnk" + Delete "$DESKTOP\qm.lnk" + Delete "$SMPROGRAMS\qm\qm.lnk" + + RMDir "$SMPROGRAMS\qm" + + RMDir "$INSTDIR" + + DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" + DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" + SetAutoClose true +SectionEnd + +#-- ���� NSIS �ű��༭�������� Function ���α�������� Section ����֮���д���Ա��ⰲװ�������δ��Ԥ֪�����⡣--# + +Function un.onInit + MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "��ȷʵҪ��ȫ�Ƴ� $(^Name) ���������е������" IDYES +2 + Abort +FunctionEnd + +Function un.onUninstSuccess + HideWindow + MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) �ѳɹ��ش����ļ�����Ƴ���" +FunctionEnd