X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=project%2FlibCEC.nsi;h=f4b2cfb275b454827debaefddd01917d3d7aca4a;hb=610eff5714288ffbce3db6992dc439dc1dc3e481;hp=2d73500192f3a4366719e09eed4205f79d1ffe5a;hpb=8dfe215b79c4d6e000b6ae61c1e20f3500da1104;p=deb_libcec.git diff --git a/project/libCEC.nsi b/project/libCEC.nsi index 2d73500..f4b2cfb 100644 --- a/project/libCEC.nsi +++ b/project/libCEC.nsi @@ -15,6 +15,8 @@ InstallDir "$PROGRAMFILES\Pulse-Eight\USB-CEC Adapter" 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/" @@ -59,6 +61,13 @@ Section "USB-CEC driver" SecDriver RMDir "$1" ${EndIf} + ; Delete libcec.dll and libcec.x64.dll from the system directory + ; Let a seperate installer do this, when we need it + Delete "$SYSDIR\libcec.dll" + ${If} ${RunningX64} + Delete "$SYSDIR\libcec.x64.dll" + ${EndIf} + ; Copy to the installation directory SetOutPath "$INSTDIR" File "..\AUTHORS" @@ -132,13 +141,6 @@ Section "libCEC" SecLibCec ; 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 @@ -147,26 +149,123 @@ Section "CEC debug client" SecCecClient ; Copy to the installation directory SetOutPath "$INSTDIR" - File /x p8-usbcec-driver-installer.exe "..\build\*.exe" + File /x p8-usbcec-driver-installer.exe /x cec-config-gui.exe "..\build\*.exe" SetOutPath "$INSTDIR\x64" - File /nonfatal "..\build\x64\*.exe" + File /nonfatal /x cec-config-gui.exe "..\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)." + ${Else} + CreateShortCut "$SMPROGRAMS\$StartMenuFolder\CEC Test client.lnk" "$INSTDIR\cec-client.exe" \ + "" "$INSTDIR\cec-client.exe" 0 SW_SHOWNORMAL \ + "" "Start the CEC Test client." ${EndIf} !insertmacro MUI_STARTMENU_WRITE_END SectionEnd +Section "CEC configuration tool" SecCecConfig + SetShellVarContext current + SectionIn 1 3 + + ; Copy to the installation directory + SetOutPath "$INSTDIR" + File "..\build\cec-config-gui.exe" + SetOutPath "$INSTDIR\x64" + File /nonfatal "..\build\x64\cec-config-gui.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)." + ${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." + ${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 @@ -175,14 +274,19 @@ Section "Uninstall" SetShellVarContext current Delete "$INSTDIR\AUTHORS" - Delete "$INSTDIR\cec*.exe" + Delete "$INSTDIR\*.exe" Delete "$INSTDIR\ChangeLog" Delete "$INSTDIR\COPYING" Delete "$INSTDIR\*.dll" Delete "$INSTDIR\*.lib" Delete "$INSTDIR\x64\*.dll" Delete "$INSTDIR\x64\*.lib" + Delete "$INSTDIR\x64\*.exe" Delete "$INSTDIR\README" + Delete "$SYSDIR\libcec.dll" + ${If} ${RunningX64} + Delete "$SYSDIR\libcec.x64.dll" + ${EndIf} ; Uninstall the driver ReadRegStr $1 HKLM "Software\Pulse-Eight\USB-CEC Adapter driver" "" @@ -196,6 +300,10 @@ Section "Uninstall" RMDir "$PROGRAMFILES\Pulse-Eight" !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder + Delete "$SMPROGRAMS\$StartMenuFolder\CEC Adapter Configuration.lnk" + ${If} ${RunningX64} + Delete "$SMPROGRAMS\$StartMenuFolder\CEC Adapter Configuration (x64).lnk" + ${EndIf} Delete "$SMPROGRAMS\$StartMenuFolder\CEC Test client.lnk" ${If} ${RunningX64} Delete "$SMPROGRAMS\$StartMenuFolder\CEC Test client (x64).lnk"