cec: added "driver only" and "driver + libcec" sections to the installer
authorLars Op den Kamp <lars@opdenkamp.eu>
Sat, 4 Feb 2012 16:14:33 +0000 (17:14 +0100)
committerLars Op den Kamp <lars@opdenkamp.eu>
Sat, 4 Feb 2012 16:14:33 +0000 (17:14 +0100)
project/libCEC.nsi

index fd915cba628ce0fa29954f853b2b1ec11b6d808f..bf14ee0631d46840f784a7cb185cc5c03f3ce2f1 100644 (file)
@@ -1,5 +1,5 @@
 ;libCEC installer
-;Copyright (C) 2011 Pulse-Eight Ltd.
+;Copyright (C) 2012 Pulse-Eight Ltd.
 ;http://www.pulse-eight.com/
 
 !include "MUI2.nsh"
@@ -22,6 +22,7 @@ Var StartMenuFolder
 
 !insertmacro MUI_PAGE_WELCOME
 !insertmacro MUI_PAGE_LICENSE "..\COPYING"
+!insertmacro MUI_PAGE_COMPONENTS
 !insertmacro MUI_PAGE_DIRECTORY
 
 !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" 
@@ -39,30 +40,19 @@ Var StartMenuFolder
 
 !insertmacro MUI_LANGUAGE "English"
 
-InstType "Full"
+InstType "USB-CEC driver & libCEC"
+InstType "USB-CEC driver only"
+InstType "Full installation"
 
-Section "libCEC" SecLibCEC
+Section "USB-CEC driver" SecDriver
   SetShellVarContext current
   SectionIn RO
-  SectionIn 1 #section is in installtype Full
+  SectionIn 1 2 3
 
   ; Copy to the installation directory
   SetOutPath "$INSTDIR"
   File "..\AUTHORS"
-  File /x dpinst*.exe "..\build\*.exe"
-  File "..\ChangeLog"
   File "..\COPYING"
-  File "..\README"
-  File "..\build\*.dll"
-  SetOutPath "$INSTDIR\x64"
-  File /nonfatal "..\build\x64\*"
-
-  ; Copy to XBMC\system
-  ReadRegStr $1 HKCU "Software\XBMC" ""
-  ${If} $1 != ""
-    SetOutPath "$1\system"
-       File "..\build\libcec.dll"
-  ${EndIf}
 
   ; Copy the driver installer and .inf file
   SetOutPath "$INSTDIR\driver"
@@ -71,17 +61,6 @@ Section "libCEC" SecLibCEC
   File "..\driver\p8usb-cec.inf"
   File "..\driver\p8usb-cec.cat"
 
-  ; Copy the headers
-  SetOutPath "$INSTDIR\include"
-  File /r /x *.so "..\include\cec*.*"
-
-  ; Copy libcec.dll and libcec.x64.dll to the system directory
-  SetOutPath "$SYSDIR"
-  File "..\build\libcec.dll"
-  ${If} ${RunningX64}
-    File /nonfatal "..\build\x64\libcec.x64.dll"
-  ${EndIf}
-
   ;Store installation folder
   WriteRegStr HKCU "Software\libCEC" "" $INSTDIR
 
@@ -92,22 +71,13 @@ Section "libCEC" SecLibCEC
   SetOutPath "$INSTDIR"
 
   CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
-  CreateShortCut "$SMPROGRAMS\$StartMenuFolder\CEC Test client.lnk" "$INSTDIR\cec-client.exe" \
-    "" "$INSTDIR\cec-client.exe" 0 SW_SHOWNORMAL \
-    "" "Start the CEC Test client."
-  ${If} ${RunningX64}
-    CreateShortCut "$SMPROGRAMS\$StartMenuFolder\CEC Test client (x64).lnk" "$INSTDIR\x64\cec-client.x64.exe" \
-      "" "$INSTDIR\cec-client.x64.exe" 0 SW_SHOWNORMAL \
-      "" "Start the CEC Test client (x64)."
-  ${EndIf}
   CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall libCEC.lnk" "$INSTDIR\Uninstall.exe" \
     "" "$INSTDIR\Uninstall.exe" 0 SW_SHOWNORMAL \
     "" "Uninstall libCEC."
 
   WriteINIStr "$SMPROGRAMS\$StartMenuFolder\Visit Pulse-Eight.url" "InternetShortcut" "URL" "http://www.pulse-eight.com/"
   !insertmacro MUI_STARTMENU_WRITE_END  
-  
-  
+    
   ;add entry to add/remove programs
   WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\libCEC" \
                  "DisplayName" "libCEC"
@@ -136,6 +106,63 @@ Section "libCEC" SecLibCEC
   ${EndIf}
 SectionEnd
 
+Section "libCEC" SecLibCec
+  SetShellVarContext current
+  SectionIn 1 3
+
+  ; Copy to the installation directory
+  SetOutPath "$INSTDIR"
+  File "..\ChangeLog"
+  File "..\README"
+  File "..\build\*.dll"
+  SetOutPath "$INSTDIR\x64"
+  File /nonfatal "..\build\x64\*.dll"
+
+  ; Copy to XBMC\system
+  ReadRegStr $1 HKCU "Software\XBMC" ""
+  ${If} $1 != ""
+    SetOutPath "$1\system"
+       File "..\build\libcec.dll"
+  ${EndIf}
+
+  ; Copy the headers
+  SetOutPath "$INSTDIR\include"
+  File /r /x *.so "..\include\cec*.*"
+
+  ; Copy libcec.dll and libcec.x64.dll to the system directory
+  SetOutPath "$SYSDIR"
+  File "..\build\libcec.dll"
+  ${If} ${RunningX64}
+    File /nonfatal "..\build\x64\libcec.x64.dll"
+  ${EndIf}
+SectionEnd
+
+Section "CEC debug client" SecCecClient
+  SetShellVarContext current
+  SectionIn 3
+
+  ; Copy to the installation directory
+  SetOutPath "$INSTDIR"
+  File /x dpinst*.exe "..\build\*.exe"
+  SetOutPath "$INSTDIR\x64"
+  File /nonfatal "..\build\x64\*.exe"
+
+  !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+  SetOutPath "$INSTDIR"
+
+  CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
+  CreateShortCut "$SMPROGRAMS\$StartMenuFolder\CEC Test client.lnk" "$INSTDIR\cec-client.exe" \
+    "" "$INSTDIR\cec-client.exe" 0 SW_SHOWNORMAL \
+    "" "Start the CEC Test client."
+  ${If} ${RunningX64}
+    CreateShortCut "$SMPROGRAMS\$StartMenuFolder\CEC Test client (x64).lnk" "$INSTDIR\x64\cec-client.x64.exe" \
+      "" "$INSTDIR\cec-client.x64.exe" 0 SW_SHOWNORMAL \
+      "" "Start the CEC Test client (x64)."
+  ${EndIf}
+  !insertmacro MUI_STARTMENU_WRITE_END  
+    
+SectionEnd
+
 ;--------------------------------
 ;Uninstaller Section