!include "LogicLib.nsh"
!include "x64.nsh"
-Name "Pulse-Eight USB-CEC Adapter"
+Name "Pulse-Eight libCEC version 2.0.0"
OutFile "..\build\libCEC-installer.exe"
XPStyle on
InstallDirRegKey HKLM "Software\Pulse-Eight\USB-CEC Adapter software" ""
RequestExecutionLevel admin
Var StartMenuFolder
+Var VSRedistSetupError
+Var VSRedistInstalled
!define MUI_FINISHPAGE_LINK "Visit http://www.pulse-eight.com/ for more information."
!define MUI_FINISHPAGE_LINK_LOCATION "http://www.pulse-eight.com/"
File "..\ChangeLog"
File "..\README"
File "..\build\*.dll"
+ File "..\build\*.xml"
SetOutPath "$INSTDIR\x64"
File /nonfatal "..\build\x64\*.dll"
+ File /nonfatal "..\build\x64\*.xml"
; Copy to XBMC\system
ReadRegStr $1 HKCU "Software\XBMC" ""
; Copy to the installation directory
SetOutPath "$INSTDIR"
- File /x p8-usbcec-driver-installer.exe /x cec-config-gui.exe "..\build\*.exe"
+ File /x p8-usbcec-driver-installer.exe /x cec-tray.exe "..\build\*.exe"
SetOutPath "$INSTDIR\x64"
- File /nonfatal /x cec-config-gui.exe "..\build\x64\*.exe"
+ File /nonfatal /x cec-tray.exe "..\build\x64\*.exe"
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
SetOutPath "$INSTDIR"
SectionEnd
-Section "CEC configuration tool" SecCecConfig
+Section "libCEC Tray" SecCecConfig
SetShellVarContext current
SectionIn 1 3
; Copy to the installation directory
SetOutPath "$INSTDIR"
- File "..\build\cec-config-gui.exe"
+ File "..\build\cec-tray.exe"
SetOutPath "$INSTDIR\x64"
- File /nonfatal "..\build\x64\cec-config-gui.exe"
+ File /nonfatal "..\build\x64\cec-tray.exe"
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
SetOutPath "$INSTDIR"
CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
${If} ${RunningX64}
- CreateShortCut "$SMPROGRAMS\$StartMenuFolder\CEC Adapter Configuration (x64).lnk" "$INSTDIR\x64\cec-config-gui.exe" \
- "" "$INSTDIR\x64\cec-config-gui.exe" 0 SW_SHOWNORMAL \
- "" "Start the CEC Adapter Configuration tool (x64)."
+ CreateShortCut "$SMPROGRAMS\$StartMenuFolder\libCEC Tray (x64).lnk" "$INSTDIR\x64\cec-tray.exe" \
+ "" "$INSTDIR\x64\cec-tray.exe" 0 SW_SHOWNORMAL \
+ "" "Start the libCEC Tray (x64)."
${Else}
- CreateShortCut "$SMPROGRAMS\$StartMenuFolder\CEC Adapter Configuration.lnk" "$INSTDIR\cec-config-gui.exe" \
- "" "$INSTDIR\cec-config-gui.exe" 0 SW_SHOWNORMAL \
- "" "Start the CEC Adapter Configuration tool."
+ CreateShortCut "$SMPROGRAMS\$StartMenuFolder\libCEC Tray.lnk" "$INSTDIR\cec-tray.exe" \
+ "" "$INSTDIR\cec-tray.exe" 0 SW_SHOWNORMAL \
+ "" "Start the libCEC Tray."
${EndIf}
!insertmacro MUI_STARTMENU_WRITE_END
SectionEnd
+!define REDISTRIBUTABLE_SECTIONNAME "Microsoft Visual C++ 2010 Redistributable Package"
+Section "" SecVCRedist
+ SetShellVarContext current
+ SectionIn 1 3
+
+
+ ${If} $VSRedistInstalled != "Yes"
+ ; Download redistributable
+ SetOutPath "$TEMP\vc20XX"
+ ${If} ${RunningX64}
+ NSISdl::download http://packages.pulse-eight.net/windows/vcredist_x64.exe vcredist_x64.exe
+ ExecWait '"$TEMP\vc20XX\vcredist_x64.exe" /q' $VSRedistSetupError
+ ${Else}
+ NSISdl::download http://packages.pulse-eight.net/windows/vcredist_x86.exe vcredist_x86.exe
+ ExecWait '"$TEMP\vc20XX\vcredist_x86.exe" /q' $VSRedistSetupError
+ ${Endif}
+ RMDIR /r "$TEMP\vc20XX"
+ ${Endif}
+
+SectionEnd
+
+Function .onInit
+
+ ; SP0 x86
+ ReadRegDword $1 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{196BB40D-1578-3D01-B289-BEFC77A11A1E}" "Version"
+ ${If} $1 != ""
+ StrCpy $VSRedistInstalled "Yes"
+ ${Endif}
+
+ ; SP0 x64
+ ReadRegDword $1 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{DA5E371C-6333-3D8A-93A4-6FD5B20BCC6E}" "Version"
+ ${If} $1 != ""
+ StrCpy $VSRedistInstalled "Yes"
+ ${Endif}
+
+ ; SP0 ia64
+ ReadRegDword $1 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C1A35166-4301-38E9-BA67-02823AD72A1B}" "Version"
+ ${If} $1 != ""
+ StrCpy $VSRedistInstalled "Yes"
+ ${Endif}
+
+ ; SP1 x86
+ ReadRegDword $1 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}" "Version"
+ ${If} $1 != ""
+ StrCpy $VSRedistInstalled "Yes"
+ ${Endif}
+
+ ; SP1 x64
+ ReadRegDword $1 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1D8E6291-B0D5-35EC-8441-6616F567A0F7}" "Version"
+ ${If} $1 != ""
+ StrCpy $VSRedistInstalled "Yes"
+ ${Endif}
+
+ ; SP1 ia64
+ ReadRegDword $1 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{88C73C1C-2DE5-3B01-AFB8-B46EF4AB41CD}" "Version"
+ ${If} $1 != ""
+ StrCpy $VSRedistInstalled "Yes"
+ ${Endif}
+
+ ${If} $VSRedistInstalled == "Yes"
+ !insertMacro UnSelectSection ${SecVCRedist}
+ SectionSetText ${SecVCRedist} ""
+ ${Else}
+ !insertMacro SelectSection ${SecVCRedist}
+ SectionSetText ${SecVCRedist} "${REDISTRIBUTABLE_SECTIONNAME}"
+ ${Endif}
+
+FunctionEnd
+
;--------------------------------
;Uninstaller Section
Delete "$INSTDIR\COPYING"
Delete "$INSTDIR\*.dll"
Delete "$INSTDIR\*.lib"
+ Delete "$INSTDIR\*.xml"
Delete "$INSTDIR\x64\*.dll"
Delete "$INSTDIR\x64\*.lib"
Delete "$INSTDIR\x64\*.exe"
+ Delete "$INSTDIR\x64\*.xml"
Delete "$INSTDIR\README"
Delete "$SYSDIR\libcec.dll"
${If} ${RunningX64}
RMDir "$PROGRAMFILES\Pulse-Eight"
!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
- Delete "$SMPROGRAMS\$StartMenuFolder\CEC Adapter Configuration.lnk"
+ Delete "$SMPROGRAMS\$StartMenuFolder\libCEC Tray.lnk"
${If} ${RunningX64}
- Delete "$SMPROGRAMS\$StartMenuFolder\CEC Adapter Configuration (x64).lnk"
+ Delete "$SMPROGRAMS\$StartMenuFolder\libCEC Tray (x64).lnk"
${EndIf}
Delete "$SMPROGRAMS\$StartMenuFolder\CEC Test client.lnk"
${If} ${RunningX64}