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