cec: refactored threading/locking - added windows native instead of pthread-win32...
[deb_libcec.git] / project / libCEC.nsi
CommitLineData
09054f70
LOK
1;libCEC installer
2;Copyright (C) 2011 Pulse-Eight Ltd.
3;http://www.pulse-eight.com/
4
5!include "MUI2.nsh"
6!include "nsDialogs.nsh"
7!include "LogicLib.nsh"
8!include "x64.nsh"
9
10Name "libCEC"
11OutFile "libCEC-installer.exe"
12
13XPStyle on
14InstallDir "$PROGRAMFILES\libCEC"
15InstallDirRegKey HKCU "Software\libCEC" ""
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"
25!insertmacro MUI_PAGE_DIRECTORY
26
27!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
28!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\libCEC"
29!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
30!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
31
32!insertmacro MUI_PAGE_INSTFILES
33!insertmacro MUI_PAGE_FINISH
34
35!insertmacro MUI_UNPAGE_WELCOME
36!insertmacro MUI_UNPAGE_CONFIRM
37!insertmacro MUI_UNPAGE_INSTFILES
38!insertmacro MUI_UNPAGE_FINISH
39
40!insertmacro MUI_LANGUAGE "English"
41
42InstType "Full"
43
44Section "libCEC" SecLibCEC
45 SetShellVarContext current
46 SectionIn RO
47 SectionIn 1 #section is in installtype Full
48 SetOutPath "$INSTDIR"
49 File "..\AUTHORS"
f00ff009 50 File "..\cec*.exe"
09054f70
LOK
51 File "..\ChangeLog"
52 File "..\COPYING"
f00ff009
LOK
53 File "..\libcec*.dll"
54 File "..\libcec*.lib"
55 File "..\LibCecSharp*.dll"
09054f70
LOK
56 File "..\README"
57
f6562fae
B
58 ; Copy to XBMC\system
59 ReadRegStr $1 HKCU "Software\XBMC" ""
60 ${If} $1 != ""
61 SetOutPath "$1\system"
62 File "..\libcec.dll"
63 ${EndIf}
64
09054f70
LOK
65 SetOutPath "$INSTDIR\driver"
66 File "..\dpinst-amd64.exe"
67 File "..\dpinst-x86.exe"
68 File "..\OEM001.inf"
69 SetOutPath "$INSTDIR\include"
465ab2f1 70 File /r /x *.so "..\include\cec*.*"
09054f70
LOK
71
72 ;Store installation folder
73 WriteRegStr HKCU "Software\libCEC" "" $INSTDIR
74
75 ;Create uninstaller
76 WriteUninstaller "$INSTDIR\Uninstall.exe"
77
78 !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
79 SetOutPath "$INSTDIR"
80
81 CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
82 CreateShortCut "$SMPROGRAMS\$StartMenuFolder\CEC Test client.lnk" "$INSTDIR\cec-client.exe" \
83 "" "$INSTDIR\cec-client.exe" 0 SW_SHOWNORMAL \
84 "" "Start the CEC Test client."
f00ff009
LOK
85 ${If} ${RunningX64}
86 CreateShortCut "$SMPROGRAMS\$StartMenuFolder\CEC Test client (x64).lnk" "$INSTDIR\cec-client.x64.exe" \
87 "" "$INSTDIR\cec-client.x64.exe" 0 SW_SHOWNORMAL \
88 "" "Start the CEC Test client (x64)."
89 ${EndIf}
09054f70
LOK
90 CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall libCEC.lnk" "$INSTDIR\Uninstall.exe" \
91 "" "$INSTDIR\Uninstall.exe" 0 SW_SHOWNORMAL \
92 "" "Uninstall libCEC."
93
94 WriteINIStr "$SMPROGRAMS\$StartMenuFolder\Visit Pulse-Eight.url" "InternetShortcut" "URL" "http://www.pulse-eight.com/"
95 !insertmacro MUI_STARTMENU_WRITE_END
96
97
98 ;add entry to add/remove programs
99 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
100 "DisplayName" "libCEC"
101 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
102 "UninstallString" "$INSTDIR\uninstall.exe"
103 WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
104 "NoModify" 1
105 WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
106 "NoRepair" 1
107 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
108 "InstallLocation" "$INSTDIR"
109 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
110 "DisplayIcon" "$INSTDIR\cec-client.exe,0"
111 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
112 "Publisher" "Pulse-Eight Ltd."
113 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
114 "HelpLink" "http://www.pulse-eight.com/"
115 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
116 "URLInfoAbout" "http://www.pulse-eight.com"
117
118 ;install driver
119 ${If} ${RunningX64}
120 ExecWait '"$INSTDIR\driver\dpinst-amd64.exe" /lm /sa /sw /PATH "$INSTDIR\driver"'
121 ${Else}
122 ExecWait '"$INSTDIR\driver\dpinst-x86.exe" /lm /sa /sw /PATH "$INSTDIR\driver"'
123 ${EndIf}
124SectionEnd
125
126;--------------------------------
127;Uninstaller Section
128
129Section "Uninstall"
130
131 SetShellVarContext current
132
133 ${If} ${RunningX64}
134 ExecWait '"$INSTDIR\driver\dpinst-amd64.exe" /u "$INSTDIR\driver\OEM001.inf"'
135 ${Else}
136 ExecWait '"$INSTDIR\driver\dpinst-x64.exe" /u "$INSTDIR\driver\OEM001.inf"'
137 ${EndIf}
138 Delete "$INSTDIR\AUTHORS"
f00ff009 139 Delete "$INSTDIR\cec*.exe"
09054f70
LOK
140 Delete "$INSTDIR\ChangeLog"
141 Delete "$INSTDIR\COPYING"
7879fa15 142 Delete "$INSTDIR\*.dll"
f00ff009
LOK
143 Delete "$INSTDIR\*.lib"
144 Delete "$INSTDIR\*.pdb"
09054f70
LOK
145 Delete "$INSTDIR\README"
146 Delete "$INSTDIR\driver\OEM001.inf"
147 Delete "$INSTDIR\driver\dpinst-amd64.exe"
148 Delete "$INSTDIR\driver\dpinst-x86.exe"
149
150 RMDir /r "$INSTDIR\include"
151 Delete "$INSTDIR\Uninstall.exe"
152 RMDir /r "$INSTDIR"
153
154 !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
155 Delete "$SMPROGRAMS\$StartMenuFolder\CEC Test client.lnk"
f00ff009
LOK
156 ${If} ${RunningX64}
157 Delete "$SMPROGRAMS\$StartMenuFolder\CEC Test client (x64).lnk"
158 ${EndIf}
09054f70
LOK
159 Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall libCEC.lnk"
160 Delete "$SMPROGRAMS\$StartMenuFolder\Visit Pulse-Eight.url"
161 RMDir "$SMPROGRAMS\$StartMenuFolder"
162
163 DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC"
164
165 DeleteRegKey /ifempty HKCU "Software\libCEC"
166
167SectionEnd