cec: added a .NET framework 2.0 version of LibCecSharp: LibCecSharp.Net2.dll
[deb_libcec.git] / project / libCEC.nsi
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
10 Name "libCEC"
11 OutFile "libCEC-installer.exe"
12
13 XPStyle on
14 InstallDir "$PROGRAMFILES\libCEC"
15 InstallDirRegKey HKCU "Software\libCEC" ""
16 RequestExecutionLevel admin
17 Var StartMenuFolder
18
19 !define MUI_FINISHPAGE_LINK "Visit http://www.pulse-eight.com/ for more information."
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
42 InstType "Full"
43
44 Section "libCEC" SecLibCEC
45 SetShellVarContext current
46 SectionIn RO
47 SectionIn 1 #section is in installtype Full
48 SetOutPath "$INSTDIR"
49 File "..\AUTHORS"
50 File "..\cec-client.exe"
51 File "..\ChangeLog"
52 File "..\COPYING"
53 File "..\*.dll"
54 File "..\libcec.lib"
55 File "Release\LibCecSharp.dll"
56 File "..\README"
57
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
65 SetOutPath "$INSTDIR\driver"
66 File "..\dpinst-amd64.exe"
67 File "..\dpinst-x86.exe"
68 File "..\OEM001.inf"
69 SetOutPath "$INSTDIR\include"
70 File /r /x *.so "..\include\cec*.*"
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."
85 CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall libCEC.lnk" "$INSTDIR\Uninstall.exe" \
86 "" "$INSTDIR\Uninstall.exe" 0 SW_SHOWNORMAL \
87 "" "Uninstall libCEC."
88
89 WriteINIStr "$SMPROGRAMS\$StartMenuFolder\Visit Pulse-Eight.url" "InternetShortcut" "URL" "http://www.pulse-eight.com/"
90 !insertmacro MUI_STARTMENU_WRITE_END
91
92
93 ;add entry to add/remove programs
94 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
95 "DisplayName" "libCEC"
96 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
97 "UninstallString" "$INSTDIR\uninstall.exe"
98 WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
99 "NoModify" 1
100 WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
101 "NoRepair" 1
102 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
103 "InstallLocation" "$INSTDIR"
104 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
105 "DisplayIcon" "$INSTDIR\cec-client.exe,0"
106 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
107 "Publisher" "Pulse-Eight Ltd."
108 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
109 "HelpLink" "http://www.pulse-eight.com/"
110 WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
111 "URLInfoAbout" "http://www.pulse-eight.com"
112
113 ;install driver
114 ${If} ${RunningX64}
115 ExecWait '"$INSTDIR\driver\dpinst-amd64.exe" /lm /sa /sw /PATH "$INSTDIR\driver"'
116 ${Else}
117 ExecWait '"$INSTDIR\driver\dpinst-x86.exe" /lm /sa /sw /PATH "$INSTDIR\driver"'
118 ${EndIf}
119 SectionEnd
120
121 ;--------------------------------
122 ;Uninstaller Section
123
124 Section "Uninstall"
125
126 SetShellVarContext current
127
128 ${If} ${RunningX64}
129 ExecWait '"$INSTDIR\driver\dpinst-amd64.exe" /u "$INSTDIR\driver\OEM001.inf"'
130 ${Else}
131 ExecWait '"$INSTDIR\driver\dpinst-x64.exe" /u "$INSTDIR\driver\OEM001.inf"'
132 ${EndIf}
133 Delete "$INSTDIR\AUTHORS"
134 Delete "$INSTDIR\cec-client.exe"
135 Delete "$INSTDIR\ChangeLog"
136 Delete "$INSTDIR\COPYING"
137 Delete "$INSTDIR\*.dll"
138 Delete "$INSTDIR\libcec.lib"
139 Delete "$INSTDIR\libcec.pdb"
140 Delete "$INSTDIR\README"
141 Delete "$INSTDIR\driver\OEM001.inf"
142 Delete "$INSTDIR\driver\dpinst-amd64.exe"
143 Delete "$INSTDIR\driver\dpinst-x86.exe"
144
145 RMDir /r "$INSTDIR\include"
146 Delete "$INSTDIR\Uninstall.exe"
147 RMDir /r "$INSTDIR"
148
149 !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
150 Delete "$SMPROGRAMS\$StartMenuFolder\CEC Test client.lnk"
151 Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall libCEC.lnk"
152 Delete "$SMPROGRAMS\$StartMenuFolder\Visit Pulse-Eight.url"
153 RMDir "$SMPROGRAMS\$StartMenuFolder"
154
155 DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC"
156
157 DeleteRegKey /ifempty HKCU "Software\libCEC"
158
159 SectionEnd