win32: Download spelling dictionaries from installer

This commit is contained in:
TingPing 2013-11-15 09:48:51 -05:00
parent 3821e7a750
commit 9834301eda
1 changed files with 13 additions and 0 deletions

View File

@ -62,6 +62,7 @@ Name: "gtktheme"; Description: "GTK+ Theme"; Types: normal custom; Flags: disabl
Name: "xctext"; Description: "HexChat-Text"; Types: custom; Flags: disablenouninstallwarning Name: "xctext"; Description: "HexChat-Text"; Types: custom; Flags: disablenouninstallwarning
Name: "xtm"; Description: "HexChat Theme Manager"; Types: normal custom; Flags: disablenouninstallwarning Name: "xtm"; Description: "HexChat Theme Manager"; Types: normal custom; Flags: disablenouninstallwarning
Name: "translations"; Description: "Translations"; Types: normal custom; Flags: disablenouninstallwarning Name: "translations"; Description: "Translations"; Types: normal custom; Flags: disablenouninstallwarning
Name: "spell"; Description: "Spelling Dictionaries"; Types: custom; Flags: disablenouninstallwarning
Name: "plugins"; Description: "Plugins"; Types: custom; Flags: disablenouninstallwarning Name: "plugins"; Description: "Plugins"; Types: custom; Flags: disablenouninstallwarning
Name: "plugins\checksum"; Description: "Checksum"; Types: custom; Flags: disablenouninstallwarning Name: "plugins\checksum"; Description: "Checksum"; Types: custom; Flags: disablenouninstallwarning
Name: "plugins\dns"; Description: "DNS"; Types: custom; Flags: disablenouninstallwarning Name: "plugins\dns"; Description: "DNS"; Types: custom; Flags: disablenouninstallwarning
@ -103,6 +104,7 @@ Filename: "{tmp}\vcredist.exe"; Parameters: "/install /quiet /norestart"; Status
Filename: "{tmp}\dotnet4.exe"; Parameters: "/q /norestart"; StatusMsg: "Installing .NET"; Components: xtm; 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}\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 Filename: "{tmp}\python.msi"; StatusMsg: "Installing Python"; Components: langs\python; Flags: shellexec skipifdoesntexist; Tasks: not portable
Filename: "{tmp}\spelling-dicts.exe"; Parameters: "/verysilent"; StatusMsg: "Installing Spelling Dictionaries"; Components: spell; Flags: skipifdoesntexist; Tasks: not portable
[Files] [Files]
Source: "portable-mode"; DestDir: "{app}"; Tasks: portable Source: "portable-mode"; DestDir: "{app}"; Tasks: portable
@ -219,6 +221,12 @@ begin
Result := FileExists(GetSysDir() + 'msvcr120.dll');; Result := FileExists(GetSysDir() + 'msvcr120.dll');;
end; end;
/////////////////////////////////////////////////////////////////////
function CheckSpellInstall(): Boolean;
begin
Result := DirExists(ExpandConstant('{localappdata}') + '\enchant');;
end;
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
function CheckDotNetInstall(): Boolean; function CheckDotNetInstall(): Boolean;
begin begin
@ -233,6 +241,7 @@ var
PY2: String; PY2: String;
PY3: String; PY3: String;
DOTNET: String; DOTNET: String;
SPELL: String;
begin begin
if not IsTaskSelected('portable') and (CurPageID = wpReady) then if not IsTaskSelected('portable') and (CurPageID = wpReady) then
begin begin
@ -250,6 +259,7 @@ begin
PY3 := 'http://python.org/ftp/python/3.3.2/python-3.3.2.msi'; PY3 := 'http://python.org/ftp/python/3.3.2/python-3.3.2.msi';
#endif #endif
DOTNET := 'http://dl.hexchat.net/misc/dotnet_40.exe'; DOTNET := 'http://dl.hexchat.net/misc/dotnet_40.exe';
SPELL := 'http://dl.hexchat.net/hexchat/HexChat%20Spelling%20Dictionaries%20r2.exe';
if not CheckVCInstall() then if not CheckVCInstall() then
idpAddFile(REDIST, ExpandConstant('{tmp}\vcredist.exe')); idpAddFile(REDIST, ExpandConstant('{tmp}\vcredist.exe'));
@ -257,6 +267,9 @@ begin
if IsComponentSelected('xtm') and not CheckDotNetInstall() then if IsComponentSelected('xtm') and not CheckDotNetInstall() then
idpAddFile(DOTNET, ExpandConstant('{tmp}\dotnet4.exe')); idpAddFile(DOTNET, ExpandConstant('{tmp}\dotnet4.exe'));
if IsComponentSelected('spell') and not CheckSpellInstall() then
idpAddFile(SPELL, ExpandConstant('{tmp}\spelling-dicts.exe'));
if IsComponentSelected('langs\perl') and not CheckDLL('perl518.dll') then if IsComponentSelected('langs\perl') and not CheckDLL('perl518.dll') then
idpAddFile(PERL, ExpandConstant('{tmp}\perl.msi')); idpAddFile(PERL, ExpandConstant('{tmp}\perl.msi'));