+Section "libCEC Tray Application" SecCecTray
+ SetShellVarContext current
+ SectionIn 1 3
+
+ ; Uninstall previous beta builds of the tray application
+ ReadRegStr $1 HKLM "Software\Pulse-Eight\libCECTray" ""
+ ${If} $1 != ""
+ MessageBox MB_OK \
+ "A previous beta build of the libCEC Tray Application was found. Press OK to uninstall the old version. Do not uninstall the driver when asked to. Thank you for participating in the beta test."
+ ExecWait '"$1\Uninstall.exe" /S _?=$1'
+ Delete "$1\Uninstall.exe"
+ ${EndIf}
+
+ ; Replace cec-config-gui.exe
+ Delete "$INSTDIR\cec-config-gui.exe"
+ ${If} ${RunningX64}
+ Delete "$INSTDIR\x64\cec-config-gui.exe"
+ ${EndIf}
+ Delete "$SMPROGRAMS\$StartMenuFolder\CEC Adapter Configuration.lnk"
+ ${If} ${RunningX64}
+ Delete "$SMPROGRAMS\$StartMenuFolder\CEC Adapter Configuration (x64).lnk"
+ ${EndIf}
+
+ ; Copy to the installation directory
+ SetOutPath "$INSTDIR"
+ File "..\build\cec-tray.exe"
+ SetOutPath "$INSTDIR\x64"
+ File /nonfatal "..\build\x64\cec-tray.exe"
+
+ !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+ SetOutPath "$INSTDIR"
+
+ CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
+ ${If} ${RunningX64}
+ 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\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
+