09854891778f4cf74eae4da09cd8909b9e841953
[olsrd.git] / gui / win32 / Inst / installer.nsi
1 ;
2 ;  The olsr.org Optimized Link-State Routing daemon (olsrd)
3 ;  Copyright (c) 2004, Thomas Lopatic (thomas@lopatic.de)
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 0.6.6 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\pgraph\olsrd_pgraph.dll
86         File ..\..\..\lib\secure\olsrd_secure.dll
87         File ..\..\..\lib\txtinfo\olsrd_txtinfo.dll
88
89         WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org DisplayName olsr.org
90         WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org UninstallString $INSTDIR\uninstall.exe
91
92         WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org NoModify 1
93         WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org NoRepair 1
94
95         WriteUninstaller $INSTDIR\uninstall.exe
96
97 SectionEnd
98
99 Section "ETX Configuration"
100
101         SectionIn 1 RO
102
103         File ..\..\..\gui\win32\Main\RFC-Default.olsr
104         File ..\..\..\gui\win32\Main\LQ-Default.olsr
105         File /oname=Default.olsr ..\..\..\gui\win32\Main\LQ-Default.olsr
106
107 SectionEnd
108
109 Section "RFC Configuration"
110
111         SectionIn 2 RO
112
113         File ..\..\..\gui\win32\Main\RFC-Default.olsr
114         File ..\..\..\gui\win32\Main\LQ-Default.olsr
115         File /oname=Default.olsr ..\..\..\gui\win32\Main\RFC-Default.olsr
116
117 SectionEnd
118
119 Section "Start Menu Shortcuts"
120
121         SectionIn 1 2
122
123         CreateDirectory $SMPROGRAMS\olsr.org
124
125         CreateShortCut "$SMPROGRAMS\olsr.org\OLSR Switch.lnk" $INSTDIR\Switch.exe "" $INSTDIR\Switch.exe 0
126         CreateShortCut $SMPROGRAMS\olsr.org\README.lnk $INSTDIR\README.txt
127         CreateShortCut $SMPROGRAMS\olsr.org\README-LQ.lnk $INSTDIR\README-LQ.html
128         CreateShortCut $SMPROGRAMS\olsr.org\Uninstall.lnk $INSTDIR\uninstall.exe "" $INSTDIR\uninstall.exe 0
129
130 SectionEnd
131
132 Section "Desktop Shortcut"
133
134         SectionIn 1 2
135
136         CreateShortCut "$DESKTOP\OLSR Switch.lnk" $INSTDIR\Switch.exe "" $INSTDIR\Switch.exe 0
137
138 SectionEnd
139
140 Section "File Association (*.olsr)"
141
142         SectionIn 1 2
143
144         WriteRegStr HKCR .olsr "" OlsrOrgConfigFile
145
146         WriteRegStr HKCR OlsrOrgConfigFile "" "olsr.org Configuration File"
147
148         WriteRegStr HKCR OlsrOrgConfigFile\shell "" open
149         WriteRegStr HKCR OlsrOrgConfigFile\DefaultIcon "" $INSTDIR\Switch.exe,0
150         WriteRegStr HKCR OlsrOrgConfigFile\shell\open\command "" '$INSTDIR\Switch.exe "%1"'
151
152 SectionEnd
153
154 Section "Uninstall"
155
156         DeleteRegKey HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org
157
158         DeleteRegKey HKCR .olsr
159         DeleteRegKey HKCR OlsrOrgConfigFile
160
161         Delete $INSTDIR\Switch.exe
162         Delete $INSTDIR\Shim.exe
163         Delete $INSTDIR\olsrd.exe
164         Delete $INSTDIR\olsr_switch.exe
165         Delete $INSTDIR\olsrd_cfgparser.dll
166         Delete $INSTDIR\README.txt
167         Delete $INSTDIR\README-LQ.html
168         Delete $INSTDIR\README-Fish-Eye.txt
169         Delete $INSTDIR\README-Olsr-Switch.html
170         Delete $INSTDIR\linux-manual.txt
171         Delete $INSTDIR\Default.olsr
172         Delete $INSTDIR\RFC-Default.olsr
173         Delete $INSTDIR\LQ-Default.olsr
174         Delete $INSTDIR\olsrd.conf.rfc
175         Delete $INSTDIR\olsrd.conf.lq
176         Delete $INSTDIR\olsrd_dot_draw.dll
177         Delete $INSTDIR\olsrd_httpinfo.dll
178         Delete $INSTDIR\olsrd_mini.dll
179         Delete $INSTDIR\olsrd_pgraph.dll
180         Delete $INSTDIR\olsrd_secure.dll
181         Delete $INSTDIR\olsrd_txtinfo.dll
182         Delete $INSTDIR\uninstall.exe
183
184         RMDir $INSTDIR
185
186         Delete "$SMPROGRAMS\olsr.org\OLSR Switch.lnk"
187         Delete $SMPROGRAMS\olsr.org\README.lnk
188         Delete $SMPROGRAMS\olsr.org\README-LQ.lnk
189         Delete $SMPROGRAMS\olsr.org\Uninstall.lnk
190
191         RMDir $SMPROGRAMS\olsr.org
192
193         Delete "$DESKTOP\OLSR Switch.lnk"
194
195 SectionEnd