; HM NIS Edit Wizard helper defines !define PRODUCT_NAME "SQLyog" !define PRODUCT_VERSION "4.1 BETA 4" !define PRODUCT_PUBLISHER "Webyog Softworks Pvt. Ltd." !define PRODUCT_WEB_SITE "http://www.webyog.com" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\SQLyog.exe" !define PRODUCT_DIR_REGKEYENT "Software\Microsoft\Windows\CurrentVersion\App Paths\SQLyog.exe" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM" SetCompressor lzma ; MUI 1.67 compatible ------ !include "MUI.nsh" ; to include os specific files !include Sections.nsh ;include custom plugin directory ;!addplugindir "\plugins" ; MUI Settings !define MUI_ABORTWARNING !define MUI_ICON "..\include\bitmaps\mysql.ico" !define MUI_UNICON "..\include\bitmaps\mysql.ico" ; Welcome page !insertmacro MUI_PAGE_WELCOME ;!insertmacro MUI_LANGUAGE "English" ; License page !define MUI_LICENSEPAGE_RADIOBUTTONS !insertmacro MUI_PAGE_LICENSE "license.txt" ; Directory page !insertmacro MUI_PAGE_DIRECTORY ; Instfiles page !insertmacro MUI_PAGE_INSTFILES ; Finish page !define MUI_FINISHPAGE_RUN "$INSTDIR\SQLyog.exe" !insertmacro MUI_PAGE_FINISH ; Uninstaller pages !insertmacro MUI_UNPAGE_INSTFILES ; Language files ;!define MUI_TEXT_WELCOME_INFO_TEXT "This wizard will guide you through the installation of ${MUI_PRODUCT}, a Win32 GUI Front End to MySQL which is simple yet powerful.\r\n\r\n\r\n" !insertmacro MUI_LANGUAGE "English" ; Reserve files !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ; MUI end ------ Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "../release/SQLyog41.exe" InstallDir "$PROGRAMFILES\${PRODUCT_NAME}" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show ShowUnInstDetails show BrandingText "Webyog Softworks Pvt. Ltd." Function GetWindowsVersion Push $R0 Push $R1 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 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_error: Strcpy $R0 '' lbl_done: Pop $R1 Exch $R0 FunctionEnd Section "Executables" SEC01 SetOutPath "$INSTDIR" Delete $INSTDIR\sqlyoghelp\*.* Delete $INSTDIR\*.mht Delete "$INSTDIR\sja-sample3.xml" Delete "$INSTDIR\sja-sample1.xml" Delete "$INSTDIR\sja-sample2.xml" Delete $INSTDIR\*.txt Delete $INSTDIR\*.dll Delete $INSTDIR\SQLyogHelp.html RMDIR /r $INSTDIR\sqlyoghelp Delete $INSTDIR\*.exe SetOverwrite on File "..\build\releasebinary\SQLyog.exe" File "..\src/tunnel\SQLyogTunnel.php" File "..\lib\plink.exe" Call GetWindowsVersion Pop $R0 StrCmp $R0 XP +3 StrCmp $R0 2003 +2 File "..\lib\gdiplus.dll" CreateDirectory "$INSTDIR\Personal" CreateDirectory "$SMPROGRAMS\SQLyog" CreateShortCut "$SMPROGRAMS\SQLyog\SQLyog.lnk" "$INSTDIR\SQLyog.exe" CreateShortCut "$SMPROGRAMS\SQLyog\SQLyog HTTP Tunneler.lnk" "$INSTDIR\SQLyogTunnel.php" CreateShortCut "$DESKTOP\SQLyog.lnk" "$INSTDIR\SQLyog.exe" SetOverwrite ifnewer File "..\docs\sja-sample1.xml" CreateShortCut "$SMPROGRAMS\SQLyog\SJA Sample Schema#1.lnk" "$INSTDIR\sja-sample1.xml" File "..\docs\sja-sample2.xml" CreateShortCut "$SMPROGRAMS\SQLyog\SJA Sample Schema#2.lnk" "$INSTDIR\sja-sample2.xml" File "..\docs\sja-sample3.xml" CreateShortCut "$SMPROGRAMS\SQLyog\SJA Sample Schema#3.lnk" "$INSTDIR\sja-sample3.xml" SetOverwrite on SetOverwrite on File "..\chmdocs\SQLyog.chm" CreateShortCut "$SMPROGRAMS\SQLyog\SQLyog Help.lnk" "$INSTDIR\SQLyog.chm" SetOverwrite on SectionEnd Section -Post WriteUninstaller "$INSTDIR\uninst.exe" WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\SQLyog.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\SQLyog.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 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 Uninstall Delete "$INSTDIR\uninst.exe" Delete "$INSTDIR\libmySQL.dll" Delete "$INSTDIR\DevIL.dll" Delete "$INSTDIR\ILU.dll" Delete "$INSTDIR\ILUT.dll" Delete "$INSTDIR\SQLyog.chm" Delete "$INSTDIR\sja.exe" Delete "$INSTDIR\sja-sample3.xml" Delete "$INSTDIR\sja-sample1.xml" Delete "$INSTDIR\sja-sample2.xml" Delete "$INSTDIR\SQLyog.exe" Delete "$INSTDIR\SQLyogTunnel.php" Delete "$SMPROGRAMS\SQLyog\Uninstall.lnk" Delete "$SMPROGRAMS\SQLyog\SQLyog Help.lnk" Delete "$SMPROGRAMS\SQLyog\sja-sample #3.lnk" Delete "$SMPROGRAMS\SQLyog\sja-sample #1.lnk" Delete "$SMPROGRAMS\SQLyog\sja-sample #2.lnk" Delete "$DESKTOP\SQLyog.lnk" Delete "$SMPROGRAMS\SQLyog\SQLyog.lnk" RMDir /r "$SMPROGRAMS\SQLyog" RMDir /r "$INSTDIR" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" SetAutoClose true SectionEnd