changed: from .cmd to .bat
[deb_libcec.git] / project / libCEC.nsi
CommitLineData
09054f70 1;libCEC installer
d4954fb7 2;Copyright (C) 2012 Pulse-Eight Ltd.
09054f70
LOK
3;http://www.pulse-eight.com/
4
5!include "MUI2.nsh"
6!include "nsDialogs.nsh"
7!include "LogicLib.nsh"
8!include "x64.nsh"
9
8dfe215b 10Name "Pulse-Eight USB-CEC Adapter"
4d760b54 11OutFile "..\build\libCEC-installer.exe"
09054f70
LOK
12
13XPStyle on
8dfe215b
LOK
14InstallDir "$PROGRAMFILES\Pulse-Eight\USB-CEC Adapter"
15InstallDirRegKey HKLM "Software\Pulse-Eight\USB-CEC Adapter software" ""
09054f70
LOK
16RequestExecutionLevel admin
17Var StartMenuFolder
18
dfb08039 19!define MUI_FINISHPAGE_LINK "Visit http://www.pulse-eight.com/ for more information."
09054f70
LOK
20!define MUI_FINISHPAGE_LINK_LOCATION "http://www.pulse-eight.com/"
21!define MUI_ABORTWARNING
22
23!insertmacro MUI_PAGE_WELCOME
24!insertmacro MUI_PAGE_LICENSE "..\COPYING"
d4954fb7 25!insertmacro MUI_PAGE_COMPONENTS
09054f70
LOK
26!insertmacro MUI_PAGE_DIRECTORY
27
8dfe215b
LOK
28!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM"
29!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Pulse-Eight\USB-CEC Adapter sofware"
09054f70
LOK
30!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
31!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
32
33!insertmacro MUI_PAGE_INSTFILES
34!insertmacro MUI_PAGE_FINISH
35
36!insertmacro MUI_UNPAGE_WELCOME
37!insertmacro MUI_UNPAGE_CONFIRM
38!insertmacro MUI_UNPAGE_INSTFILES
39!insertmacro MUI_UNPAGE_FINISH
40
41!insertmacro MUI_LANGUAGE "English"
42
d4954fb7
LOK
43InstType "USB-CEC driver & libCEC"
44InstType "USB-CEC driver only"
45InstType "Full installation"
09054f70 46
d4954fb7 47Section "USB-CEC driver" SecDriver
09054f70
LOK
48 SetShellVarContext current
49 SectionIn RO
d4954fb7 50 SectionIn 1 2 3
4d760b54 51
8dfe215b
LOK
52 ; Uninstall the old unsigned software if it's found
53 ReadRegStr $1 HKCU "Software\libCEC" ""
54 ${If} $1 != ""
55 MessageBox MB_OK \
56 "A previous libCEC and USB-CEC driver was found. This update requires the old version to be uninstalled. Press OK to uninstall the old version."
57 ExecWait '"$1\Uninstall.exe" /S _?=$1'
58 Delete "$1\Uninstall.exe"
59 RMDir "$1"
60 ${EndIf}
61
71b6af0a
LOK
62 ; Delete libcec.dll and libcec.x64.dll from the system directory
63 ; Let a seperate installer do this, when we need it
64 Delete "$SYSDIR\libcec.dll"
65 ${If} ${RunningX64}
66 Delete "$SYSDIR\libcec.x64.dll"
67 ${EndIf}
68
4d760b54 69 ; Copy to the installation directory
09054f70
LOK
70 SetOutPath "$INSTDIR"
71 File "..\AUTHORS"
09054f70 72 File "..\COPYING"
f6562fae 73
8dfe215b 74 ; Copy the driver installer
09054f70 75 SetOutPath "$INSTDIR\driver"
8dfe215b 76 File "..\build\p8-usbcec-driver-installer.exe"
4d760b54 77
09054f70 78 ;Store installation folder
8dfe215b 79 WriteRegStr HKLM "Software\Pulse-Eight\USB-CEC Adapter software" "" $INSTDIR
09054f70
LOK
80
81 ;Create uninstaller
82 WriteUninstaller "$INSTDIR\Uninstall.exe"
83
84 !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
85 SetOutPath "$INSTDIR"
86
87 CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
8dfe215b 88 CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall Pulse-Eight USB-CEC Adapter software.lnk" "$INSTDIR\Uninstall.exe" \
09054f70 89 "" "$INSTDIR\Uninstall.exe" 0 SW_SHOWNORMAL \
8dfe215b 90 "" "Uninstall Pulse-Eight USB-CEC Adapter software."
09054f70
LOK
91
92 WriteINIStr "$SMPROGRAMS\$StartMenuFolder\Visit Pulse-Eight.url" "InternetShortcut" "URL" "http://www.pulse-eight.com/"
93 !insertmacro MUI_STARTMENU_WRITE_END
d4954fb7 94
09054f70 95 ;add entry to add/remove programs
8dfe215b
LOK
96 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware" \
97 "DisplayName" "Pulse-Eight USB-CEC Adapter software"
98 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware" \
09054f70 99 "UninstallString" "$INSTDIR\uninstall.exe"
8dfe215b 100 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware" \
09054f70 101 "NoModify" 1
8dfe215b 102 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware" \
09054f70 103 "NoRepair" 1
8dfe215b 104 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware" \
09054f70 105 "InstallLocation" "$INSTDIR"
8dfe215b 106 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware" \
09054f70 107 "DisplayIcon" "$INSTDIR\cec-client.exe,0"
8dfe215b
LOK
108 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware" \
109 "Publisher" "Pulse-Eight Limited"
110 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware" \
09054f70 111 "HelpLink" "http://www.pulse-eight.com/"
8dfe215b 112 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware" \
09054f70
LOK
113 "URLInfoAbout" "http://www.pulse-eight.com"
114
115 ;install driver
8dfe215b
LOK
116 ExecWait '"$INSTDIR\driver\p8-usbcec-driver-installer.exe" /S'
117 Delete "$INSTDIR\driver\p8-usbcec-driver-installer.exe"
09054f70
LOK
118SectionEnd
119
d4954fb7
LOK
120Section "libCEC" SecLibCec
121 SetShellVarContext current
122 SectionIn 1 3
123
124 ; Copy to the installation directory
125 SetOutPath "$INSTDIR"
126 File "..\ChangeLog"
127 File "..\README"
128 File "..\build\*.dll"
129 SetOutPath "$INSTDIR\x64"
130 File /nonfatal "..\build\x64\*.dll"
131
132 ; Copy to XBMC\system
133 ReadRegStr $1 HKCU "Software\XBMC" ""
134 ${If} $1 != ""
135 SetOutPath "$1\system"
136 File "..\build\libcec.dll"
137 ${EndIf}
138
139 ; Copy the headers
140 SetOutPath "$INSTDIR\include"
141 File /r /x *.so "..\include\cec*.*"
d4954fb7
LOK
142SectionEnd
143
144Section "CEC debug client" SecCecClient
145 SetShellVarContext current
146 SectionIn 3
147
148 ; Copy to the installation directory
149 SetOutPath "$INSTDIR"
10c03f2c 150 File /x p8-usbcec-driver-installer.exe /x cec-config-gui.exe "..\build\*.exe"
d4954fb7 151 SetOutPath "$INSTDIR\x64"
10c03f2c 152 File /nonfatal /x cec-config-gui.exe "..\build\x64\*.exe"
d4954fb7
LOK
153
154 !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
155 SetOutPath "$INSTDIR"
156
157 CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
d4954fb7
LOK
158 ${If} ${RunningX64}
159 CreateShortCut "$SMPROGRAMS\$StartMenuFolder\CEC Test client (x64).lnk" "$INSTDIR\x64\cec-client.x64.exe" \
160 "" "$INSTDIR\cec-client.x64.exe" 0 SW_SHOWNORMAL \
161 "" "Start the CEC Test client (x64)."
c9549d35
LOK
162 ${Else}
163 CreateShortCut "$SMPROGRAMS\$StartMenuFolder\CEC Test client.lnk" "$INSTDIR\cec-client.exe" \
164 "" "$INSTDIR\cec-client.exe" 0 SW_SHOWNORMAL \
165 "" "Start the CEC Test client."
d4954fb7
LOK
166 ${EndIf}
167 !insertmacro MUI_STARTMENU_WRITE_END
168
169SectionEnd
170
10c03f2c
LOK
171Section "CEC configuration tool" SecCecConfig
172 SetShellVarContext current
173 SectionIn 1 3
174
175 ; Copy to the installation directory
176 SetOutPath "$INSTDIR"
177 File "..\build\cec-config-gui.exe"
178 SetOutPath "$INSTDIR\x64"
179 File /nonfatal "..\build\x64\cec-config-gui.exe"
180
181 !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
182 SetOutPath "$INSTDIR"
183
184 CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
10c03f2c
LOK
185 ${If} ${RunningX64}
186 CreateShortCut "$SMPROGRAMS\$StartMenuFolder\CEC Adapter Configuration (x64).lnk" "$INSTDIR\x64\cec-config-gui.exe" \
187 "" "$INSTDIR\x64\cec-config-gui.exe" 0 SW_SHOWNORMAL \
188 "" "Start the CEC Adapter Configuration tool (x64)."
c9549d35
LOK
189 ${Else}
190 CreateShortCut "$SMPROGRAMS\$StartMenuFolder\CEC Adapter Configuration.lnk" "$INSTDIR\cec-config-gui.exe" \
191 "" "$INSTDIR\cec-config-gui.exe" 0 SW_SHOWNORMAL \
192 "" "Start the CEC Adapter Configuration tool."
10c03f2c
LOK
193 ${EndIf}
194 !insertmacro MUI_STARTMENU_WRITE_END
195
196SectionEnd
197
09054f70
LOK
198;--------------------------------
199;Uninstaller Section
200
201Section "Uninstall"
202
203 SetShellVarContext current
204
09054f70 205 Delete "$INSTDIR\AUTHORS"
10c03f2c 206 Delete "$INSTDIR\*.exe"
09054f70
LOK
207 Delete "$INSTDIR\ChangeLog"
208 Delete "$INSTDIR\COPYING"
7879fa15 209 Delete "$INSTDIR\*.dll"
f00ff009 210 Delete "$INSTDIR\*.lib"
4d760b54
LOK
211 Delete "$INSTDIR\x64\*.dll"
212 Delete "$INSTDIR\x64\*.lib"
10c03f2c 213 Delete "$INSTDIR\x64\*.exe"
09054f70 214 Delete "$INSTDIR\README"
71b6af0a
LOK
215 Delete "$SYSDIR\libcec.dll"
216 ${If} ${RunningX64}
217 Delete "$SYSDIR\libcec.x64.dll"
218 ${EndIf}
8dfe215b
LOK
219
220 ; Uninstall the driver
221 ReadRegStr $1 HKLM "Software\Pulse-Eight\USB-CEC Adapter driver" ""
222 ${If} $1 != ""
223 ExecWait '"$1\Uninstall.exe" /S _?=$1'
224 ${EndIf}
09054f70
LOK
225
226 RMDir /r "$INSTDIR\include"
227 Delete "$INSTDIR\Uninstall.exe"
228 RMDir /r "$INSTDIR"
8dfe215b 229 RMDir "$PROGRAMFILES\Pulse-Eight"
09054f70
LOK
230
231 !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
10c03f2c
LOK
232 Delete "$SMPROGRAMS\$StartMenuFolder\CEC Adapter Configuration.lnk"
233 ${If} ${RunningX64}
234 Delete "$SMPROGRAMS\$StartMenuFolder\CEC Adapter Configuration (x64).lnk"
235 ${EndIf}
09054f70 236 Delete "$SMPROGRAMS\$StartMenuFolder\CEC Test client.lnk"
f00ff009
LOK
237 ${If} ${RunningX64}
238 Delete "$SMPROGRAMS\$StartMenuFolder\CEC Test client (x64).lnk"
239 ${EndIf}
8dfe215b 240 Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall Pulse-Eight USB-CEC Adapter software.lnk"
09054f70 241 Delete "$SMPROGRAMS\$StartMenuFolder\Visit Pulse-Eight.url"
8dfe215b 242 RMDir "$SMPROGRAMS\$StartMenuFolder"
09054f70 243
8dfe215b
LOK
244 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware"
245 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter driver"
246 DeleteRegKey /ifempty HKLM "Software\Pulse-Eight\USB-CEC Adapter software"
247 DeleteRegKey /ifempty HKLM "Software\Pulse-Eight"
09054f70 248SectionEnd