Installation on Windows now offers an ETX and an RFC configuration.
[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.13 2005/03/31 18:20:02 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.4.9 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 ..\Main\Release\Switch.exe
73         File ..\Shim\Release\Shim.exe
74         File ..\..\..\olsrd.exe
75         File ..\..\..\src\cfgparser\olsrd_cfgparser.dll
76         File /oname=README.txt ..\..\..\README
77         File /oname=README-LQ.html ..\..\..\README-Link-Quality.html
78         File linux-manual.txt
79         File /oname=olsrd.conf.rfc ..\..\..\files\olsrd.conf.win32.rfc
80         File /oname=olsrd.conf.lq ..\..\..\files\olsrd.conf.win32.lq
81         File ..\..\..\lib\dot_draw\olsrd_dot_draw.dll
82         File ..\..\..\lib\nameservice\olsrd_nameservice.dll
83         File ..\..\..\lib\httpinfo\olsrd_httpinfo.dll
84
85         WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org DisplayName olsr.org
86         WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org UninstallString $INSTDIR\uninstall.exe
87
88         WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org NoModify 1
89         WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org NoRepair 1
90
91         WriteUninstaller $INSTDIR\uninstall.exe
92
93 SectionEnd
94
95 Section "ETX Configuration"
96
97         SectionIn 1 RO
98
99         File ..\..\..\gui\win32\Main\RFC-Default.olsr
100         File ..\..\..\gui\win32\Main\LQ-Default.olsr
101         File /oname=Default.olsr ..\..\..\gui\win32\Main\LQ-Default.olsr
102
103 SectionEnd
104
105 Section "RFC Configuration"
106
107         SectionIn 2 RO
108
109         File ..\..\..\gui\win32\Main\RFC-Default.olsr
110         File ..\..\..\gui\win32\Main\LQ-Default.olsr
111         File /oname=Default.olsr ..\..\..\gui\win32\Main\RFC-Default.olsr
112
113 SectionEnd
114
115 Section "Start Menu Shortcuts"
116
117         SectionIn 1 2
118
119         CreateDirectory $SMPROGRAMS\olsr.org
120
121         CreateShortCut "$SMPROGRAMS\olsr.org\OLSR Switch.lnk" $INSTDIR\Switch.exe "" $INSTDIR\Switch.exe 0
122         CreateShortCut $SMPROGRAMS\olsr.org\README.lnk $INSTDIR\README.txt
123         CreateShortCut $SMPROGRAMS\olsr.org\README-LQ.lnk $INSTDIR\README-LQ.html
124         CreateShortCut $SMPROGRAMS\olsr.org\Uninstall.lnk $INSTDIR\uninstall.exe "" $INSTDIR\uninstall.exe 0
125
126 SectionEnd
127
128 Section "Desktop Shortcut"
129
130         SectionIn 1 2
131
132         CreateShortCut "$DESKTOP\OLSR Switch.lnk" $INSTDIR\Switch.exe "" $INSTDIR\Switch.exe 0
133
134 SectionEnd
135
136 Section "File Association (*.olsr)"
137
138         SectionIn 1 2
139
140         WriteRegStr HKCR .olsr "" OlsrOrgConfigFile
141
142         WriteRegStr HKCR OlsrOrgConfigFile "" "olsr.org Configuration File"
143
144         WriteRegStr HKCR OlsrOrgConfigFile\shell "" open
145         WriteRegStr HKCR OlsrOrgConfigFile\DefaultIcon "" $INSTDIR\Switch.exe,0
146         WriteRegStr HKCR OlsrOrgConfigFile\shell\open\command "" '$INSTDIR\Switch.exe "%1"'
147
148 SectionEnd
149
150 Section "Uninstall"
151
152         DeleteRegKey HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\olsr.org
153
154         DeleteRegKey HKCR .olsr
155         DeleteRegKey HKCR OlsrOrgConfigFile
156
157         Delete $INSTDIR\Switch.exe
158         Delete $INSTDIR\Shim.exe
159         Delete $INSTDIR\olsrd.exe
160         Delete $INSTDIR\olsrd_cfgparser.dll
161         Delete $INSTDIR\README.txt
162         Delete $INSTDIR\README-LQ.html
163         Delete $INSTDIR\linux-manual.txt
164         Delete $INSTDIR\Default.olsr
165         Delete $INSTDIR\RFC-Default.olsr
166         Delete $INSTDIR\LQ-Default.olsr
167         Delete $INSTDIR\olsrd.conf.rfc
168         Delete $INSTDIR\olsrd.conf.lq
169         Delete $INSTDIR\olsrd_dot_draw.dll
170         Delete $INSTDIR\olsrd_nameservice.dll
171         Delete $INSTDIR\olsrd_httpinfo.dll
172         Delete $INSTDIR\uninstall.exe
173
174         RMDir $INSTDIR
175
176         Delete "$SMPROGRAMS\olsr.org\OLSR Switch.lnk"
177         Delete $SMPROGRAMS\olsr.org\README.lnk
178         Delete $SMPROGRAMS\olsr.org\README-LQ.lnk
179         Delete $SMPROGRAMS\olsr.org\Uninstall.lnk
180
181         RMDir $SMPROGRAMS\olsr.org
182
183         Delete "$DESKTOP\OLSR Switch.lnk"
184
185 SectionEnd