For a smooth installation, check if necessary to install the redistributable. If the installed version is already updated (quite likely), do not even unpack it.
[Files] ; VC++ redistributable runtime. Extracted by VC2017RedistNeedsInstall(), if needed. Source: ".\Redist\VC_redist_2017.x64.exe"; DestDir: {tmp}; Flags: dontcopy [Run] Filename: "{tmp}\VC_redist_2017.x64.exe"; StatusMsg: "{cm:InstallingVC2017redist}"; Parameters: "/quiet"; Check: VC2017RedistNeedsInstall ; Flags: waituntilterminated [Code] function VC2017RedistNeedsInstall: Boolean; var Version: String; begin if (RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64', 'Version', Version)) then begin // Is the installed version at least 14.14 ? Log('VC Redist Version check : found ' + Version); Result := (CompareStr(Version, 'v14.14.26429.03')<0); end else begin // Not even an old version installed Result := True; end; if (Result) then begin ExtractTemporaryFile('VC_redist_2017.x64.exe'); end; end;
Please note that redistributable 14.14 is also suitable for VS2015.
Msalters
source share