Removed name service plugin from Windows version. Need regex first.
[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 ;  $Id: installer.nsi,v 1.16 2007/03/27 03:58:31 tlopatic Exp $
40 ;
41
42 Name olsr.org
43 OutFile ..\..\..\olsr-setup.exe
44 BrandingText "www.olsr.org"
45 InstallDir $PROGRAMFILES\olsr.org
46 LicenseData ..\..\..\license.txt
47 XPStyle on
48
49 Page license
50 Page components
51 Page directory
52 Page instfiles
53
54 UninstPage uninstConfirm
55 UninstPage instfiles
56
57 Function .onInit
58         MessageBox MB_YESNO "This will install olsr.org 0.5.0 on your computer. Continue?" IDYES NoAbort
59         Abort
60 NoAbort:
61 FunctionEnd
62
63 InstType "ETX Configuration (recommended)"
64 InstType "RFC Configuration"
65
66 Section "Program Files"
67
68         SectionIn 1 2 RO
69
70         SetOutPath $INSTDIR
71
72         File /oname=Switch.exe ..\release\Main.exe
73         File ..\release\Shim.exe
74         File ..\..\..\olsrd.exe
75         File ..\..\..\olsr_switch.exe
76         File ..\..\..\src\cfgparser\olsrd_cfgparser.dll
77         File /oname=README.txt ..\..\..\README
78         File /oname=README-LQ.html ..\..\..\README-Link-Quality.html
79         File /oname=README-Fish-Eye.txt ..\..\..\README-Link-Quality-Fish-Eye.txt
80         File ..\..\..\README-Olsr-Switch.html
81         File linux-manual.txt
82         File /oname=olsrd.conf.rfc ..\..\..\files\olsrd.conf.win32.rfc
83         File /oname=olsrd.conf.lq ..\..\..\files\olsrd.conf.win32.lq
84         File ..\..\..\lib\dot_draw\olsrd_dot_draw.dll
85         File ..\..\..\lib\httpinfo\olsrd_httpinfo.dll
86
87         WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org DisplayName olsr.org
88         WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org UninstallString $INSTDIR\uninstall.exe
89
90         WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org NoModify 1
91         WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org NoRepair 1
92
93         WriteUninstaller $INSTDIR\uninstall.exe
94
95 SectionEnd
96
97 Section "ETX Configuration"
98
99         SectionIn 1 RO
100
101         File ..\..\..\gui\win32\Main\RFC-Default.olsr
102         File ..\..\..\gui\win32\Main\LQ-Default.olsr
103         File /oname=Default.olsr ..\..\..\gui\win32\Main\LQ-Default.olsr
104
105 SectionEnd
106
107 Section "RFC Configuration"
108
109         SectionIn 2 RO
110
111         File ..\..\..\gui\win32\Main\RFC-Default.olsr
112         File ..\..\..\gui\win32\Main\LQ-Default.olsr
113         File /oname=Default.olsr ..\..\..\gui\win32\Main\RFC-Default.olsr
114
115 SectionEnd
116
117 Section "Start Menu Shortcuts"
118
119         SectionIn 1 2
120
121         CreateDirectory $SMPROGRAMS\olsr.org
122
123         CreateShortCut "$SMPROGRAMS\olsr.org\OLSR Switch.lnk" $INSTDIR\Switch.exe "" $INSTDIR\Switch.exe 0
124         CreateShortCut $SMPROGRAMS\olsr.org\README.lnk $INSTDIR\README.txt
125         CreateShortCut $SMPROGRAMS\olsr.org\README-LQ.lnk $INSTDIR\README-LQ.html
126         CreateShortCut $SMPROGRAMS\olsr.org\Uninstall.lnk $INSTDIR\uninstall.exe "" $INSTDIR\uninstall.exe 0
127
128 SectionEnd
129
130 Section "Desktop Shortcut"
131
132         SectionIn 1 2
133
134         CreateShortCut "$DESKTOP\OLSR Switch.lnk" $INSTDIR\Switch.exe "" $INSTDIR\Switch.exe 0
135
136 SectionEnd
137
138 Section "File Association (*.olsr)"
139
140         SectionIn 1 2
141
142         WriteRegStr HKCR .olsr "" OlsrOrgConfigFile
143
144         WriteRegStr HKCR OlsrOrgConfigFile "" "olsr.org Configuration File"
145
146         WriteRegStr HKCR OlsrOrgConfigFile\shell "" open
147         WriteRegStr HKCR OlsrOrgConfigFile\DefaultIcon "" $INSTDIR\Switch.exe,0
148         WriteRegStr HKCR OlsrOrgConfigFile\shell\open\command "" '$INSTDIR\Switch.exe "%1"'
149
150 SectionEnd
151
152 Section "Uninstall"
153
154         DeleteRegKey HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org
155
156         DeleteRegKey HKCR .olsr
157         DeleteRegKey HKCR OlsrOrgConfigFile
158
159         Delete $INSTDIR\Switch.exe
160         Delete $INSTDIR\Shim.exe
161         Delete $INSTDIR\olsrd.exe
162         Delete $INSTDIR\olsr_switch.exe
163         Delete $INSTDIR\olsrd_cfgparser.dll
164         Delete $INSTDIR\README.txt
165         Delete $INSTDIR\README-LQ.html
166         Delete $INSTDIR\README-Fish-Eye.txt
167         Delete $INSTDIR\README-Olsr-Switch.html
168         Delete $INSTDIR\linux-manual.txt
169         Delete $INSTDIR\Default.olsr
170         Delete $INSTDIR\RFC-Default.olsr
171         Delete $INSTDIR\LQ-Default.olsr
172         Delete $INSTDIR\olsrd.conf.rfc
173         Delete $INSTDIR\olsrd.conf.lq
174         Delete $INSTDIR\olsrd_dot_draw.dll
175         Delete $INSTDIR\olsrd_nameservice.dll
176         Delete $INSTDIR\olsrd_httpinfo.dll
177         Delete $INSTDIR\uninstall.exe
178
179         RMDir $INSTDIR
180
181         Delete "$SMPROGRAMS\olsr.org\OLSR Switch.lnk"
182         Delete $SMPROGRAMS\olsr.org\README.lnk
183         Delete $SMPROGRAMS\olsr.org\README-LQ.lnk
184         Delete $SMPROGRAMS\olsr.org\Uninstall.lnk
185
186         RMDir $SMPROGRAMS\olsr.org
187
188         Delete "$DESKTOP\OLSR Switch.lnk"
189
190 SectionEnd