; Script generated by the HM NIS Edit Script Wizard. ; HM NIS Edit Wizard helper defines !define PRODUCT_NAME "ADCH++" !define PRODUCT_PUBLISHER "Jacek Sieka" !define PRODUCT_WEB_SITE "http://adchpp.sourceforge.net" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\adchppd.exe" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM" Function GetAdchppdVersion Exch $0 GetDllVersion "$INSTDIR\$0" $R0 $R1 IntOp $R2 $R0 >> 16 IntOp $R2 $R2 & 0x0000FFFF IntOp $R3 $R0 & 0x0000FFFF IntOp $R4 $R1 >> 16 IntOp $R4 $R4 & 0x0000FFFF StrCpy $1 "$R2.$R3.$R4" Exch $1 FunctionEnd SetCompressor lzma ; MUI 1.67 compatible ------ !include "MUI.nsh" ; MUI Settings !define MUI_ABORTWARNING !define MUI_ICON "adchppd.ico" !define MUI_UNICON "adchppd.ico" ; Welcome page !insertmacro MUI_PAGE_WELCOME ; Directory page !insertmacro MUI_PAGE_DIRECTORY ; Instfiles page !insertmacro MUI_PAGE_INSTFILES ; Finish page !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\readme.txt" !define MUI_FINISHPAGE_RUN "$INSTDIR\adchppd.exe" !insertmacro MUI_PAGE_FINISH ; Uninstaller pages !insertmacro MUI_UNPAGE_INSTFILES ; Language files !insertmacro MUI_LANGUAGE "English" ; Reserve files !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ; MUI end ------ Name "${PRODUCT_NAME}" OutFile "ADCHPP-xxx.exe" InstallDir "$PROGRAMFILES\ADCH++" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show ShowUnInstDetails show Section "MainSection" SEC01 SetOutPath "$INSTDIR" SetOverwrite ifnewer File "aboost_date_time.dll" File "aboost_system.dll" File "adchpp.dll" File "adchppd.exe" File "alua.dll" File "Bloom.dll" File "changelog.txt" File "lfs.dll" File "libgcc_s_dw2-1.dll" File "libstdc++-6.dll" File "License.txt" File "luadchpp.dll" File "pyadchpp.py" File "Script.dll" File "luadchppbloom.dll" File "aboost_locale.dll" File "readme.txt" File "FirstReg.cmd" File "Generate_certs.cmd" CreateShortCut "$DESKTOP\ADCH++.lnk" "$INSTDIR\adchppd.exe" CreateDirectory "$SMPROGRAMS\ADCH++" CreateShortCut "$SMPROGRAMS\ADCH++\ADCH++ Help.lnk" "$INSTDIR\readme.txt" CreateShortCut "$SMPROGRAMS\ADCH++\Install ADCH++ as windows service.lnk" "$INSTDIR\adchppd.exe" "-i adchppd" CreateShortCut "$SMPROGRAMS\ADCH++\Remove ADCH++ windows service.lnk" "$INSTDIR\adchppd.exe" "-u adchppd" SetOutPath "$INSTDIR\lua" File "lua\*.lua" SetOutPath "$INSTDIR\lua\socket" File "lua\socket\*.lua" SetOutPath "$INSTDIR\mime" File "mime\*" SetOutPath "$INSTDIR\socket" File "socket\*" SetOutPath "$INSTDIR\Scripts" File "Scripts\access.lua" File "Scripts\access.bans.lua" File "Scripts\access.bot.lua" IfFileExists $INSTDIR\Scripts\access.limits.lua 0 +2 Rename $INSTDIR\Scripts\access.limits.lua $INSTDIR\Scripts\access.limits.lua.old File "Scripts\access.guard.lua" File "Scripts\access.op.lua" File "Scripts\autil.lua" File "Scripts\aio.lua" File "Scripts\example.lua" File "Scripts\history.lua" File "Scripts\json.lua" File "Scripts\motd.lua" File "Scripts\checkemptyinbloom.lua" CreateDirectory $INSTDIR\Scripts\FL_Database SetOutPath "$INSTDIR\Docs" File "Docs\*.conf" File "Docs\*.html" File "Docs\*.txt" SetOutPath "$INSTDIR\Docs\images" File "Docs\images\*.png" SetOutPath "$INSTDIR\Docs\images\icons" File "Docs\images\icons\*.png" SetOverwrite off SetOutPath "$INSTDIR\config" File "config\motd.txt" File "config\adchpp.xml" File "config\Script.xml" SectionEnd Section -AdditionalIcons SetOutPath $INSTDIR WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" CreateShortCut "$SMPROGRAMS\ADCH++\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" CreateShortCut "$SMPROGRAMS\ADCH++\ADCH++.lnk" "$INSTDIR\adchppd.exe" CreateShortCut "$SMPROGRAMS\ADCH++\Uninstall.lnk" "$INSTDIR\uninst.exe" SectionEnd Section -Service MessageBox MB_ICONQUESTION|MB_YESNO "Do you wish to install ADCH++ as a service?" IDYES Service IDNO End Service: Exec '"$INSTDIR\adchppd.exe" -i adchppd' End: SectionEnd Section -Post WriteUninstaller "$INSTDIR\uninst.exe" ; Get adchppd version we just installed and store in $1 Push "adchppd.exe" Call "GetAdchppdVersion" Pop $1 WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\adchppd.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name) $1" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\adchppd.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "$1" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" SectionEnd Function un.onUninstSuccess HideWindow MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." FunctionEnd Function un.onInit MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2 Abort FunctionEnd Section -un.Service Exec 'sc delete adchppd' SectionEnd Section -un.remSettings MessageBox MB_ICONQUESTION|MB_YESNO "Do you wish to remove all the ADCH++ configuration files, statistics, logs and accounts?" IDYES Remove IDNO NoRemove Remove: Delete "$INSTDIR\config\users.txt" Delete "$INSTDIR\config\history.txt" Delete "$INSTDIR\config\settings.txt" Delete "$INSTDIR\config\motd.txt" Delete "$INSTDIR\config\bans.txt" Delete "$INSTDIR\config\en_settings.txt" Delete "$INSTDIR\config\fl_settings.txt" Delete "$INSTDIR\config\li_settings.txt" Delete "$INSTDIR\config\users.txt.tmp" Delete "$INSTDIR\config\history.txt.tmp" Delete "$INSTDIR\config\settings.txt.tmp" Delete "$INSTDIR\config\motd.txt.tmp" Delete "$INSTDIR\config\bans.txt.tmp" Delete "$INSTDIR\config\en_settings.txt.tmp" Delete "$INSTDIR\config\fl_settings.txt.tmp" Delete "$INSTDIR\config\li_settings.txt.tmp" Delete "$INSTDIR\config\Script.xml" Delete "$INSTDIR\config\adchpp.xml" Delete "$INSTDIR\config\logs\*.log" Delete "$INSTDIR\Scripts\FL_Database\commandstats.txt" Delete "$INSTDIR\Scripts\FL_Database\entitystats.txt" Delete "$INSTDIR\Scripts\FL_Database\kickstats.txt" Delete "$INSTDIR\Scripts\FL_Database\limitstats.txt" Delete "$INSTDIR\Scripts\FL_Database\tmpbanstats.txt" Delete "$INSTDIR\Scripts\FL_Database\commandstats.txt.tmp" Delete "$INSTDIR\Scripts\FL_Database\entitystats.txt.tmp" Delete "$INSTDIR\Scripts\FL_Database\kickstats.txt.tmp" Delete "$INSTDIR\Scripts\FL_Database\limitstats.txt.tmp" Delete "$INSTDIR\Scripts\FL_Database\tmpbanstats.txt.tmp" NoRemove: SectionEnd Section Uninstall Delete "$INSTDIR\${PRODUCT_NAME}.url" Delete "$INSTDIR\aboost_date_time.dll" Delete "$INSTDIR\aboost_system.dll" Delete "$INSTDIR\adchpp.dll" Delete "$INSTDIR\adchppd.exe" Delete "$INSTDIR\alua.dll" Delete "$INSTDIR\Bloom.dll" Delete "$INSTDIR\changelog.txt" Delete "$INSTDIR\lfs.dll" Delete "$INSTDIR\libgcc_s_dw2-1.dll" Delete "$INSTDIR\libstdc++-6.dll" Delete "$INSTDIR\License.txt" Delete "$INSTDIR\luadchpp.dll" Delete "$INSTDIR\pyadchpp.py" Delete "$INSTDIR\Script.dll" Delete "$INSTDIR\luadchppbloom.dll" Delete "$INSTDIR\aboost_locale.dll" Delete "$INSTDIR\readme.txt" Delete "$INSTDIR\FirstReg.cmd" Delete "$INSTDIR\Generate_certs.cmd" Delete "$INSTDIR\lua\*.lua" Delete "$INSTDIR\lua\socket\*.lua" Delete "$INSTDIR\mime\core.dll" Delete "$INSTDIR\socket\core.dll" Delete "$INSTDIR\Scripts\access.lua" Delete "$INSTDIR\Scripts\access.bans.lua" Delete "$INSTDIR\Scripts\access.bot.lua" Delete "$INSTDIR\Scripts\access.guard.lua" Delete "$INSTDIR\Scripts\access.limits.lua" Delete "$INSTDIR\Scripts\access.limits.lua.old" Delete "$INSTDIR\Scripts\access.op.lua" Delete "$INSTDIR\Scripts\aio.lua" Delete "$INSTDIR\Scripts\autil.lua" Delete "$INSTDIR\Scripts\example.lua" Delete "$INSTDIR\Scripts\history.lua" Delete "$INSTDIR\Scripts\json.lua" Delete "$INSTDIR\Scripts\motd.lua" Delete "$INSTDIR\Scripts\checkemptyinbloom.lua" Delete "$INSTDIR\Docs\images\icons\*.*" Delete "$INSTDIR\Docs\images\*.*" Delete "$INSTDIR\Docs\*.*" Delete "$INSTDIR\uninst.exe" Delete "$SMPROGRAMS\ADCH++\Uninstall.lnk" Delete "$SMPROGRAMS\ADCH++\ADCH++.lnk" Delete "$SMPROGRAMS\ADCH++\Website.lnk" Delete "$SMPROGRAMS\ADCH++\ADCH++ Help.lnk" Delete "$SMPROGRAMS\ADCH++\Remove ADCH++ windows service.lnk" Delete "$SMPROGRAMS\ADCH++\Install ADCH++ as windows service.lnk" Delete "$DESKTOP\ADCH++.lnk" RMDir "$SMPROGRAMS\ADCH++" RMDir "$INSTDIR\lua\socket" RMDir "$INSTDIR\lua" RMDir "$INSTDIR\mime" RMDir "$INSTDIR\socket" RMDir "$INSTDIR\Scripts\FL_Database" RMDir "$INSTDIR\Scripts" RMDir "$INSTDIR\config\logs" RMDir "$INSTDIR\config" RMDir "$INSTDIR\Docs\images\icons" RMDir "$INSTDIR\Docs\images" RMDir "$INSTDIR\Docs" RMDir "$INSTDIR" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" SetAutoClose true SectionEnd