Version 2.0.32
[idzebra-moved-to-github.git] / win / zebra.nsi
1 ; $Id: zebra.nsi,v 1.50 2008-03-05 09:29:10 adam Exp $
2
3 !define VERSION "2.0.32"
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         File ..\bin\icudt38.dll
97         File ..\bin\icuin38.dll
98         File ..\bin\icuuc38.dll
99         File ..\bin\yaz_icu3.dll
100 SectionEnd
101
102 Section "Zebra Development"
103         SectionIn 1
104         SetOutPath $INSTDIR\include
105         File ..\include\*.h
106         SetOutPath $INSTDIR\include\idzebra
107         File ..\include\idzebra\*.h
108         SetOutPath $INSTDIR\lib
109         File ..\lib\*.lib
110 SectionEnd
111
112 Section "Zebra Documentation"
113         SectionIn 1 2
114         SetOutPath $INSTDIR\doc
115         File /r ..\doc\*.html
116         File /r ..\doc\*.png
117         File /r ..\doc\*.xml
118         File /r ..\doc\*.xsl
119         SetOutPath "$SMPROGRAMS\Index Data\Zebra\"
120         CreateShortCut "$SMPROGRAMS\Index Data\Zebra\HTML Documentation.lnk" \
121                  "$INSTDIR\doc\index.html"
122 SectionEnd
123
124 Section "Zebra Examples"
125         SectionIn 1 2
126
127         SetOutPath $INSTDIR
128
129         File /r ..\test
130         File /r /x *.mf /x *.LCK ..\examples
131 SectionEnd
132
133 Section "Zebra Source"
134         SectionIn 1
135         SetOutPath $INSTDIR\util
136         File ..\util\*.c
137         SetOutPath $INSTDIR\dfa
138         File ..\dfa\*.c
139         File ..\dfa\*.h
140         SetOutPath $INSTDIR\index
141         File ..\index\*.c
142         File ..\index\*.h
143         SetOutPath $INSTDIR\isams
144         File ..\isams\*.c
145         SetOutPath $INSTDIR\isamc
146         File ..\isamc\*.c
147         File ..\isamc\*.h
148         SetOutPath $INSTDIR\isamb
149         File ..\isamb\*.c
150         SetOutPath $INSTDIR\data1
151         File ..\data1\*.c
152         SetOutPath $INSTDIR\dict
153         File ..\dict\*.c
154         File ..\dict\*.h
155         SetOutPath $INSTDIR\bfile
156         File ..\bfile\*.c
157         File ..\bfile\*.h
158         SetOutPath $INSTDIR\rset
159         File ..\rset\*.c
160         SetOutPath $INSTDIR\test\api
161         File ..\test\api\*.c
162         File ..\test\api\*.cfg
163         SetOutPath $INSTDIR\win
164         File makefile
165         File *.nsi
166         File *.txt
167 SectionEnd
168
169 ; begin uninstall settings/section
170 UninstallText "This will uninstall Zebra ${VERSION} from your system"
171
172 Section Uninstall
173 ; add delete commands to delete whatever files/registry keys/etc you installed here.
174         Delete "$INSTDIR\uninst.exe"
175         DeleteRegKey HKLM "SOFTWARE\Index Data\Zebra"
176         DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Zebra"
177         ExecWait '"$INSTDIR\bin\zebrasrv" -remove'
178         RMDir /r "$SMPROGRAMS\Index Data\Zebra"
179         RMDir /r $INSTDIR
180         IfFileExists $INSTDIR 0 Removed 
181                 MessageBox MB_OK|MB_ICONEXCLAMATION \
182                  "Note: $INSTDIR could not be removed."
183 Removed:
184 SectionEnd
185 ; eof