1;NSIS Modern User Interface 2 3;-------------------------------- 4;Include Modern UI 5 6 !include "MUI.nsh" 7 !include "EnvVarUpdate.nsh" 8 !include "x64.nsh" 9 !include "unix2dos.nsh" 10 11;-------------------------------- 12; Initialization function to properly set the installation directory 13Function .onInit 14 ${If} ${RunningX64} 15 StrCpy $INSTDIR "$PROGRAMFILES64\NCBI\igblast-BLAST_VERSION" 16 ${EndIf} 17FunctionEnd 18 19;-------------------------------- 20;General 21 22 ;Name and file 23 Name "NCBI igBLAST BLAST_VERSION" 24 OutFile "ncbi-igblast-BLAST_VERSION.exe" 25 ; Install/uninstall icons 26 !define MUI_ICON "ncbilogo.ico" 27 !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\nsis1-uninstall.ico" 28 29 ;Default installation folder 30 InstallDir "$PROGRAMFILES\NCBI\igblast-BLAST_VERSION" 31 32 ;Get installation folder from registry if available 33 InstallDirRegKey HKCU "Software\NCBI\igblast-BLAST_VERSION" "" 34 35;-------------------------------- 36;Interface Settings 37 38 !define MUI_ABORTWARNING 39 40;-------------------------------- 41;Pages 42 43 !insertmacro MUI_PAGE_LICENSE "LICENSE" 44 !insertmacro MUI_PAGE_DIRECTORY 45 !insertmacro MUI_PAGE_INSTFILES 46 ;!insertmacro MUI_PAGE_FINISH 47 48 !insertmacro MUI_UNPAGE_CONFIRM 49 !insertmacro MUI_UNPAGE_INSTFILES 50 51;-------------------------------- 52;Languages 53 54 !insertmacro MUI_LANGUAGE "English" 55 56;-------------------------------- 57;Installer Sections 58 59Section "DefaultSection" SecDflt 60 61 SetOutPath "$INSTDIR\bin" 62 63 File "igblastn.exe" 64 File "igblastp.exe" 65 File "edit_imgt_file.pl" 66 File "ncbi-vdb-md.dll" 67 File "makeblastdb.exe" 68 File "blastdbcmd.exe" 69 File "nghttp2.dll" 70 71 SetOutPath "$INSTDIR\doc" 72 File "README" 73 Push "$INSTDIR\doc\README" 74 Push "$INSTDIR\doc\README.txt" 75 Call unix2dos 76 77 SetOutPath "$INSTDIR\optional_file" 78 File /r "optional_file\*.*" 79 SetOutPath "$INSTDIR\internal_data" 80 File /r "internal_data\*.*" 81 82 ;Store installation folder 83 WriteRegStr HKCU "Software\NCBI\igblast-BLAST_VERSION" "" $INSTDIR 84 85 ;Create uninstaller 86 WriteUninstaller "$INSTDIR\Uninstall-ncbi-igblast-BLAST_VERSION.exe" 87 88 ;Update PATH 89 ${EnvVarUpdate} $0 "PATH" "P" "HKCU" "$INSTDIR\bin" 90 ;Create the IGDATA environment variable 91 ;${EnvVarUpdate} $0 "IGDATA" "P" "HKCU" "$INSTDIR" 92 ;create BLASTDB_LMDB_MAP_SIZE env needed for makeblastdb 93 ${EnvVarUpdate} $0 "BLASTDB_LMDB_MAP_SIZE" "P" "HKCU" "1000000" 94 95 96SectionEnd 97 98;-------------------------------- 99;Uninstaller Section 100 101Section "Uninstall" 102 Delete "$INSTDIR\Uninstall-ncbi-igblast-BLAST_VERSION.exe" 103 RMDir /r "$INSTDIR" 104 105 DeleteRegKey /ifempty HKCU "Software\NCBI\igblast-BLAST_VERSION" 106 107 ; Remove installation directory from PATH 108 ${un.EnvVarUpdate} $0 "PATH" "R" "HKCU" "$INSTDIR\bin" 109 ; Remove the IGDATA environment variable 110 ;${un.EnvVarUpdate} $0 "IGDATA" "R" "HKCU" "$INSTDIR" 111 ;remove BLASTDB_LMDB_MAP_SIZE env 112 ${un.EnvVarUpdate} $0 "BLASTDB_LMDB_MAP_SIZE" "R" "HKCU" "1000000" 113 114 115SectionEnd 116