summary refs log tree commit diff stats
path: root/win32
diff options
context:
space:
mode:
authorPatrick Griffis <tingping@tingping.se>2016-07-01 12:14:07 -0400
committertomek <eustachy.kapusta@gmail.com>2016-07-02 19:39:25 +0200
commit9fbd23b06f7fe8b68cfd414ea8b9d5d69b60e643 (patch)
tree32f79ba3508451d8f5cdc1ce2453f9fcc7b88d88 /win32
parent9e11280e529b5b494f0c04bda602df907aa0b207 (diff)
win32: Download redist for Perl if needed
Diffstat (limited to 'win32')
-rw-r--r--win32/installer/hexchat.iss.tt17
1 files changed, 16 insertions, 1 deletions
diff --git a/win32/installer/hexchat.iss.tt b/win32/installer/hexchat.iss.tt
index 5c22eee6..ab512bd5 100644
--- a/win32/installer/hexchat.iss.tt
+++ b/win32/installer/hexchat.iss.tt
@@ -100,6 +100,7 @@ Root: HKCR; Subkey: ".hct\shell\open\command"; ValueType: string; ValueName: "";
 Filename: "{app}\hexchat.exe"; Description: "Run HexChat after closing the Wizard"; Flags: nowait postinstall skipifsilent
 Filename: "http://docs.hexchat.org/en/latest/changelog.html"; Description: "See what's changed"; Flags: shellexec runasoriginaluser postinstall skipifsilent unchecked
 Filename: "{tmp}\vcredist.exe"; Parameters: "/install /quiet /norestart"; StatusMsg: "Installing Visual C++ Redistributable"; Flags: skipifdoesntexist; Tasks: not portable
+Filename: "{tmp}\vcredist2013.exe"; Parameters: "/install /quiet /norestart"; StatusMsg: "Installing Visual C++ Redistributable"; Flags: skipifdoesntexist; Tasks: not portable
 Filename: "{tmp}\dotnet4.exe"; Parameters: "/q /norestart"; StatusMsg: "Installing .NET"; Components: xtm; Flags: skipifdoesntexist; Tasks: not portable
 Filename: "{tmp}\perl.msi"; StatusMsg: "Installing Perl"; Components: langs\perl; Flags: shellexec skipifdoesntexist; Tasks: not portable
 Filename: "{tmp}\python.msi"; StatusMsg: "Installing Python"; Components: langs\python; Flags: shellexec skipifdoesntexist; Tasks: not portable
@@ -240,6 +241,12 @@ begin
 	Result := FileExists(GetSysDir() + 'vcruntime140.dll');;
 end;
 
+function CheckVC2013Install(): Boolean;
+begin
+	Result := FileExists(GetSysDir() + 'msvcr120.dll');;
+end;
+
+
 /////////////////////////////////////////////////////////////////////
 function CheckSpellInstall(): Boolean;
 var
@@ -266,6 +273,7 @@ end;
 procedure CurPageChanged(CurPageID: Integer);
 var
 	REDIST: String;
+	REDIST_2013: String;
 	PERL: String;
 	PY2: String;
 	PY3: String;
@@ -281,11 +289,13 @@ begin
 
 #if APPARCH == "x64"
 		REDIST := 'https://dl.hexchat.net/misc/vcredist_2015_x64.exe';
+		REDIST_2013 := 'https://dl.hexchat.net/misc/vcredist_2013_x64.exe';
 		PERL := 'https://dl.hexchat.net/misc/perl/Perl%205.20.0%20x64.msi';
 		PY2 := 'https://python.org/ftp/python/2.7.10/python-2.7.10.amd64.msi';
 		PY3 := 'https://python.org/ftp/python/3.5.1/python-3.5.1-amd64.exe';
 #else
 		REDIST := 'https://dl.hexchat.net/misc/vcredist_2015_x86.exe';
+		REDIST_2013 := 'https://dl.hexchat.net/misc/vcredist_2013_x86.exe';
 		PERL := 'https://dl.hexchat.net/misc/perl/Perl%205.20.0%20x86.msi';
 		PY2 := 'https://python.org/ftp/python/2.7.10/python-2.7.10.msi';
 		PY3 := 'https://python.org/ftp/python/3.5.1/python-3.5.1.exe';
@@ -305,7 +315,12 @@ begin
 		if not WizardSilent() then
 		begin
 			if IsComponentSelected('langs\perl') and not CheckDLL('perl520.dll') then
-				idpAddFile(PERL, ExpandConstant('{tmp}\perl.msi'));
+			begin
+				if not CheckVC2013Install() then
+					idpAddFile(REDIST_2013, ExpandConstant('{tmp}\vcredist2013.exe'));
+
+				idpAddFile(PERL, ExpandConstant('{tmp}\perl.msi'))
+			end;
 
 			if IsComponentSelected('langs\python\python2') and not CheckDLL('python27.dll') then
 				idpAddFile(PY2, ExpandConstant('{tmp}\python.msi'));