Towards 2.0.20.
[idzebra-moved-to-github.git] / win / zebra.nsi
1 ; $Id: zebra.nsi,v 1.45 2007-12-19 13:38:23 adam Exp $
2
3 !define VERSION "2.0.20"
4
5 ; VS 2005
6 ; !define VS_RUNTIME_DLL      "c:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\msvcr80.dll"
7 ; !define VS_RUNTIME_MANIFEST "c:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\Microsoft.VC80.CRT.manifest"
8
9 ; VS 2003
10 ; !define VS_RUNTIME_DLL "c:\Program files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\msvcr71.dll"
11
12 ; VS 6.0
13 ; (no defines)
14
15 !include "MUI.nsh"
16
17 SetCompressor bzip2
18
19 Name "Zebra"
20 Caption "Index Data Zebra ${VERSION} Setup"
21 OutFile "idzebra_${VERSION}.exe"
22
23 LicenseText "You must read the following license before installing:"
24 LicenseData license.txt
25
26 ComponentText "This will install Zebra on your computer:"
27 InstType "Full (w/ Source)"
28 InstType "Lite (w/o Source)"
29
30 InstallDir "$PROGRAMFILES\Zebra"
31 InstallDirRegKey HKLM "SOFTWARE\Index Data\Zebra" ""
32
33 ;--------------------------------
34 ; Pages
35
36   !insertmacro MUI_PAGE_LICENSE "license.txt"
37   !insertmacro MUI_PAGE_COMPONENTS
38   !insertmacro MUI_PAGE_DIRECTORY
39   !insertmacro MUI_PAGE_INSTFILES
40   
41   !insertmacro MUI_UNPAGE_CONFIRM
42   !insertmacro MUI_UNPAGE_INSTFILES
43 ; Page components
44 ; Page directory
45 ; Page instfiles
46
47 ; UninstPage uninstConfirm
48 ; UninstPage instfiles
49
50 ;--------------------------------
51 ;Languages
52  
53 !insertmacro MUI_LANGUAGE "English"
54
55 ;--------------------------------
56 Section "" ; (default section)
57         SetOutPath "$INSTDIR"
58         ; add files / whatever that need to be installed here.
59         WriteRegStr HKLM "SOFTWARE\Index Data\Zebra" "" "$INSTDIR"
60         WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Zebra" "DisplayName" "Zebra ${VERSION} (remove only)"
61         WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Zebra" "UninstallString" '"$INSTDIR\uninst.exe"'
62         ; write out uninstaller
63         WriteUninstaller "$INSTDIR\uninst.exe"
64         SetOutPath "$SMPROGRAMS\Index Data\Zebra\"
65         CreateShortCut "$SMPROGRAMS\Index Data\Zebra\Zebra Program Directory.lnk" \
66                  "$INSTDIR"
67         WriteINIStr "$SMPROGRAMS\Index Data\Zebra\Zebra Home page.url" \
68               "InternetShortcut" "URL" "http://www.indexdata.dk/zebra/"
69         CreateShortCut "$SMPROGRAMS\Index Data\Zebra\Uninstall Zebra.lnk" \
70                 "$INSTDIR\uninst.exe"
71         SetOutPath $INSTDIR
72         File ..\LICENSE.zebra
73         File ..\README
74         SetOutPath $INSTDIR
75         File /r ..\tab
76 SectionEnd ; end of default section
77
78 Section "Zebra Runtime"
79         SectionIn 1 2
80         SetOutPath $INSTDIR\bin
81 !ifdef VS_RUNTIME_DLL
82         File "${VS_RUNTIME_DLL}"
83 !endif
84 !ifdef VS_RUNTIME_MANIFEST
85         File "${VS_RUNTIME_MANIFEST}"
86         File ..\bin\*.manifest
87 !endif
88         File ..\bin\*.exe
89         File ..\bin\idzebra.dll
90         File ..\bin\iconv.dll
91         File ..\bin\zlib1.dll
92         File ..\bin\libxml2.dll
93         File ..\bin\libxslt.dll
94         File ..\bin\yaz3.dll
95         File ..\bin\libexpat.dll
96 SectionEnd
97
98 Section "Zebra Development"
99         SectionIn 1
100         SetOutPath $INSTDIR\include
101         File ..\include\*.h
102         SetOutPath $INSTDIR\include\idzebra
103         File ..\include\idzebra\*.h
104         SetOutPath $INSTDIR\lib
105         File ..\lib\*.lib
106 SectionEnd
107
108 Section "Zebra Documentation"
109         SectionIn 1 2
110         SetOutPath $INSTDIR\doc
111         File /r ..\doc\*.html
112         File /r ..\doc\*.png
113         File /r ..\doc\*.xml
114         File /r ..\doc\*.xsl
115         SetOutPath "$SMPROGRAMS\Index Data\Zebra\"
116         CreateShortCut "$SMPROGRAMS\Index Data\Zebra\HTML Documentation.lnk" \
117                  "$INSTDIR\doc\index.html"
118 SectionEnd
119
120 Section "Zebra Examples"
121         SectionIn 1 2
122
123         SetOutPath $INSTDIR
124
125         File /r ..\test
126         File /r /x *.mf /x *.LCK ..\examples
127 SectionEnd
128
129 Section "Zebra Source"
130         SectionIn 1
131         SetOutPath $INSTDIR\util
132         File ..\util\*.c
133         SetOutPath $INSTDIR\dfa
134         File ..\dfa\*.c
135         File ..\dfa\*.h
136         SetOutPath $INSTDIR\index
137         File ..\index\*.c
138         File ..\index\*.h
139         SetOutPath $INSTDIR\isams
140         File ..\isams\*.c
141         SetOutPath $INSTDIR\isamc
142         File ..\isamc\*.c
143         File ..\isamc\*.h
144         SetOutPath $INSTDIR\isamb
145         File ..\isamb\*.c
146         SetOutPath $INSTDIR\data1
147         File ..\data1\*.c
148         SetOutPath $INSTDIR\dict
149         File ..\dict\*.c
150         File ..\dict\*.h
151         SetOutPath $INSTDIR\bfile
152         File ..\bfile\*.c
153         File ..\bfile\*.h
154         SetOutPath $INSTDIR\rset
155         File ..\rset\*.c
156         SetOutPath $INSTDIR\test\api
157         File ..\test\api\*.c
158         File ..\test\api\*.cfg
159         SetOutPath $INSTDIR\win
160         File makefile
161         File *.nsi
162         File *.txt
163 SectionEnd
164
165 ; begin uninstall settings/section
166 UninstallText "This will uninstall Zebra ${VERSION} from your system"
167
168 Section Uninstall
169 ; add delete commands to delete whatever files/registry keys/etc you installed here.
170         Delete "$INSTDIR\uninst.exe"
171         DeleteRegKey HKLM "SOFTWARE\Index Data\Zebra"
172         DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Zebra"
173         ExecWait '"$INSTDIR\bin\zebrasrv" -remove'
174         RMDir /r "$SMPROGRAMS\Index Data\Zebra"
175         RMDir /r $INSTDIR
176         IfFileExists $INSTDIR 0 Removed 
177                 MessageBox MB_OK|MB_ICONEXCLAMATION \
178                  "Note: $INSTDIR could not be removed."
179 Removed:
180 SectionEnd
181 ; eof