License update in all source files (via license.sh script)
[olsrd.git] / gui / win32 / Inst / installer.nsi
1 ;
2 ;  The olsr.org Optimized Link-State Routing daemon(olsrd)
3 ;  Copyright (c) 2004-2009, the olsr.org team - see HISTORY file
4 ;  All rights reserved.
5 ;
6 ;  Redistribution and use in source and binary forms, with or without
7 ;  modification, are permitted provided that the following conditions
8 ;  are met:
9 ;
10 ;  * Redistributions of source code must retain the above copyright
11 ;    notice, this list of conditions and the following disclaimer.
12 ;  * Redistributions in binary form must reproduce the above copyright
13 ;    notice, this list of conditions and the following disclaimer in
14 ;    the documentation and/or other materials provided with the
15 ;    distribution.
16 ;  * Neither the name of olsr.org, olsrd nor the names of its
17 ;    contributors may be used to endorse or promote products derived
18 ;    from this software without specific prior written permission.
19 ;
20 ;  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 ;  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 ;  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23 ;  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
24 ;  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25 ;  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26 ;  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27 ;  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 ;  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 ;  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
30 ;  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 ;  POSSIBILITY OF SUCH DAMAGE.
32 ;
33 ;  Visit http://www.olsr.org for more information.
34 ;
35 ;  If you find this software useful feel free to make a donation
36 ;  to the project. For more information see the website or contact
37 ;  the copyright holders.
38 ;
39 ;
40
41 Name olsr.org
42 OutFile ..\..\..\olsr-setup.exe
43 BrandingText "www.olsr.org"
44 InstallDir $PROGRAMFILES\olsr.org
45 LicenseData ..\..\..\license.txt
46 XPStyle on
47
48 Page license
49 Page components
50 Page directory
51 Page instfiles
52
53 UninstPage uninstConfirm
54 UninstPage instfiles
55
56 Function .onInit
57         MessageBox MB_YESNO "This will install olsr.org pre-0.5.7 on your computer. Continue?" IDYES NoAbort
58         Abort
59 NoAbort:
60 FunctionEnd
61
62 InstType "ETX Configuration (recommended)"
63 InstType "RFC Configuration"
64
65 Section "Program Files"
66
67         SectionIn 1 2 RO
68
69         SetOutPath $INSTDIR
70
71         File ..\Main\release\Switch.exe
72         File ..\Shim\release\Shim.exe
73         File ..\..\..\olsrd.exe
74         File ..\..\..\src\cfgparser\olsrd_cfgparser.dll
75         File /oname=README.txt ..\..\..\README
76         File /oname=README-LQ.html ..\..\..\README-Link-Quality.html
77         File /oname=README-Fish-Eye.txt ..\..\..\README-Link-Quality-Fish-Eye.txt
78         File ..\..\..\README-Olsr-Switch.html
79         File linux-manual.txt
80         File ..\Main\RFC-Default.olsr
81         File ..\Main\LQ-Default.olsr
82         File ..\..\..\lib\dot_draw\olsrd_dot_draw.dll
83         File ..\..\..\lib\httpinfo\olsrd_httpinfo.dll
84         File ..\..\..\lib\mini\olsrd_mini.dll
85         File ..\..\..\lib\secure\olsrd_secure.dll
86         File ..\..\..\lib\txtinfo\olsrd_txtinfo.dll
87
88         WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org DisplayName olsr.org
89         WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org UninstallString $INSTDIR\uninstall.exe
90
91         WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org NoModify 1
92         WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org NoRepair 1
93
94         WriteUninstaller $INSTDIR\uninstall.exe
95
96 SectionEnd
97
98 Section "ETX Configuration"
99
100         SectionIn 1 RO
101
102         File ..\..\..\gui\win32\Main\RFC-Default.olsr
103         File ..\..\..\gui\win32\Main\LQ-Default.olsr
104         File /oname=Default.olsr ..\..\..\gui\win32\Main\LQ-Default.olsr
105
106 SectionEnd
107
108 Section "RFC Configuration"
109
110         SectionIn 2 RO
111
112         File ..\..\..\gui\win32\Main\RFC-Default.olsr
113         File ..\..\..\gui\win32\Main\LQ-Default.olsr
114         File /oname=Default.olsr ..\..\..\gui\win32\Main\RFC-Default.olsr
115
116 SectionEnd
117
118 Section "Start Menu Shortcuts"
119
120         SectionIn 1 2
121
122         CreateDirectory $SMPROGRAMS\olsr.org
123
124         CreateShortCut "$SMPROGRAMS\olsr.org\OLSR Switch.lnk" $INSTDIR\Switch.exe "" $INSTDIR\Switch.exe 0
125         CreateShortCut $SMPROGRAMS\olsr.org\README.lnk $INSTDIR\README.txt
126         CreateShortCut $SMPROGRAMS\olsr.org\README-LQ.lnk $INSTDIR\README-LQ.html
127         CreateShortCut $SMPROGRAMS\olsr.org\Uninstall.lnk $INSTDIR\uninstall.exe "" $INSTDIR\uninstall.exe 0
128
129 SectionEnd
130
131 Section "Desktop Shortcut"
132
133         SectionIn 1 2
134
135         CreateShortCut "$DESKTOP\OLSR Switch.lnk" $INSTDIR\Switch.exe "" $INSTDIR\Switch.exe 0
136
137 SectionEnd
138
139 Section "File Association (*.olsr)"
140
141         SectionIn 1 2
142
143         WriteRegStr HKCR .olsr "" OlsrOrgConfigFile
144
145         WriteRegStr HKCR OlsrOrgConfigFile "" "olsr.org Configuration File"
146
147         WriteRegStr HKCR OlsrOrgConfigFile\shell "" open
148         WriteRegStr HKCR OlsrOrgConfigFile\DefaultIcon "" $INSTDIR\Switch.exe,0
149         WriteRegStr HKCR OlsrOrgConfigFile\shell\open\command "" '$INSTDIR\Switch.exe "%1"'
150
151 SectionEnd
152
153 Section "Uninstall"
154
155         DeleteRegKey HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org
156
157         DeleteRegKey HKCR .olsr
158         DeleteRegKey HKCR OlsrOrgConfigFile
159
160         Delete $INSTDIR\Switch.exe
161         Delete $INSTDIR\Shim.exe
162         Delete $INSTDIR\olsrd.exe
163         Delete $INSTDIR\olsr_switch.exe
164         Delete $INSTDIR\olsrd_cfgparser.dll
165         Delete $INSTDIR\README.txt
166         Delete $INSTDIR\README-LQ.html
167         Delete $INSTDIR\README-Fish-Eye.txt
168         Delete $INSTDIR\README-Olsr-Switch.html
169         Delete $INSTDIR\linux-manual.txt
170         Delete $INSTDIR\Default.olsr
171         Delete $INSTDIR\RFC-Default.olsr
172         Delete $INSTDIR\LQ-Default.olsr
173         Delete $INSTDIR\olsrd.conf.rfc
174         Delete $INSTDIR\olsrd.conf.lq
175         Delete $INSTDIR\olsrd_dot_draw.dll
176         Delete $INSTDIR\olsrd_httpinfo.dll
177         Delete $INSTDIR\olsrd_mini.dll
178         Delete $INSTDIR\olsrd_secure.dll
179         Delete $INSTDIR\olsrd_txtinfo.dll
180         Delete $INSTDIR\uninstall.exe
181
182         RMDir $INSTDIR
183
184         Delete "$SMPROGRAMS\olsr.org\OLSR Switch.lnk"
185         Delete $SMPROGRAMS\olsr.org\README.lnk
186         Delete $SMPROGRAMS\olsr.org\README-LQ.lnk
187         Delete $SMPROGRAMS\olsr.org\Uninstall.lnk
188
189         RMDir $SMPROGRAMS\olsr.org
190
191         Delete "$DESKTOP\OLSR Switch.lnk"
192
193 SectionEnd