VC 8.0 Redistributables: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
(Added note about DLLs and a link to a related article)
(Hints for newer runtime versions added)
Line 23: Line 23:
[[Category:Other Products Handling Functions]]
[[Category:Other Products Handling Functions]]
[[Category:Other Products Version Detection Functions]]
[[Category:Other Products Version Detection Functions]]
Visual Studio 2005, x86 SP1: ( 8.0.59193) "{837b34e3-7c30-493c-8f6a-2b0f04e2912c}"
Visual Studio 2008, x86 SP1: ( 9.0.30729) "{6AFCA4E1-9B78-3640-8F72-A7BF33448200}"
Visual Studio 2010, x86 SP0: (10.0.30319) "{196BB40D-1578-3D01-B289-BEFC77A11A1E}"

Revision as of 11:22, 27 January 2011

This function detects if VC++ 8.0 redistributables are installed on the machine

;-------------------------------
; Test if Visual Studio Redistributables 2005+ SP1 installed
; Returns -1 if there is no VC redistributables intstalled
Function CheckVCRedist
   Push $R0
   ClearErrors
   ReadRegDword $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{7299052b-02a4-4627-81f2-1818da5d550d}" "Version"

   ; if VS 2005+ redist SP1 not installed, install it
   IfErrors 0 VSRedistInstalled
   StrCpy $R0 "-1"

VSRedistInstalled:
   Exch $R0
FunctionEnd

It should be noted that the DLLs could be installed even if the redistributable isn't installed. One example would be if the user has Visual Studios installed, then they have the dlls without the redist.

Related articles

WinSxS QueryAssemblyInfo to check if assembly is installed


Visual Studio 2005, x86 SP1: ( 8.0.59193) "{837b34e3-7c30-493c-8f6a-2b0f04e2912c}" Visual Studio 2008, x86 SP1: ( 9.0.30729) "{6AFCA4E1-9B78-3640-8F72-A7BF33448200}" Visual Studio 2010, x86 SP0: (10.0.30319) "{196BB40D-1578-3D01-B289-BEFC77A11A1E}"