8 Commits

View File

@@ -9,10 +9,10 @@ AppName=ZoiteChat
AppVersion={#APPVER} AppVersion={#APPVER}
AppVerName=ZoiteChat {#APPVER} AppVerName=ZoiteChat {#APPVER}
AppPublisher=ZoiteChat AppPublisher=ZoiteChat
AppPublisherURL=http://zoitechat.org AppPublisherURL=https://zoitechat.org
AppCopyright=Copyright (C) 1998-2010 Peter Zelezny AppCopyright=Copyright (C) 1998-2010 Peter Zelezny
AppSupportURL=https://github.com/zoitechat/zoitechat/issues AppSupportURL=https://github.com/zoitechat/zoitechat/issues
AppUpdatesURL=http://zoitechat.org/downloads.html AppUpdatesURL=https://zoitechat.org/download.php
LicenseFile=share\doc\zoitechat\COPYING LicenseFile=share\doc\zoitechat\COPYING
UninstallDisplayIcon={app}\zoitechat.exe UninstallDisplayIcon={app}\zoitechat.exe
UninstallDisplayName=ZoiteChat UninstallDisplayName=ZoiteChat
@@ -22,6 +22,7 @@ DefaultGroupName=ZoiteChat
AllowNoIcons=yes AllowNoIcons=yes
SolidCompression=yes SolidCompression=yes
Compression=lzma2/ultra64 Compression=lzma2/ultra64
ArchiveExtraction=full
SourceDir=..\rel SourceDir=..\rel
OutputDir=.. OutputDir=..
OutputBaseFilename={#APPNAM}-{#APPVER}_x64 OutputBaseFilename={#APPNAM}-{#APPVER}_x64
@@ -60,9 +61,9 @@ Name: "langs"; Description: "Language Interfaces"; Types: custom; Flags: disable
Name: "langs\lua"; Description: "Lua (LuaJIT 2.1)"; Types: normal custom; Flags: disablenouninstallwarning Name: "langs\lua"; Description: "Lua (LuaJIT 2.1)"; Types: normal custom; Flags: disablenouninstallwarning
Name: "langs\perl"; Description: "Perl (Strawberry Perl 5.42.0.1)"; Types: custom; Flags: disablenouninstallwarning Name: "langs\perl"; Description: "Perl (Strawberry Perl 5.42.0.1)"; Types: custom; Flags: disablenouninstallwarning
Name: "langs\python"; Description: "Python (Python 3.14.3)"; Types: custom; Flags: disablenouninstallwarning Name: "langs\python"; Description: "Python (Python 3.14.3)"; Types: custom; Flags: disablenouninstallwarning
Name: "themes"; Description: "GTK3 Themes"; Types: normal minimal custom; Flags: disablenouninstallwarning Name: "themes"; Description: "GTK3 Themes"; Types: custom; Flags: disablenouninstallwarning
Name: "themes\windows10"; Description: "Windows 10"; Types: normal minimal custom; Flags: disablenouninstallwarning Name: "themes\windows10"; Description: "Windows 10"; Types: custom; Flags: disablenouninstallwarning
Name: "themes\windows10dark"; Description: "Windows 10 Dark"; Types: normal minimal custom; Flags: disablenouninstallwarning Name: "themes\windows10dark"; Description: "Windows 10 Dark"; Types: custom; Flags: disablenouninstallwarning
Name: "deps"; Description: "Dependencies"; Types: custom; Flags: disablenouninstallwarning Name: "deps"; Description: "Dependencies"; Types: custom; Flags: disablenouninstallwarning
Name: "deps\vcredist2015"; Description: "Visual C++ Redistributable 2015"; Types: normal minimal custom; Flags: disablenouninstallwarning Name: "deps\vcredist2015"; Description: "Visual C++ Redistributable 2015"; Types: normal minimal custom; Flags: disablenouninstallwarning
@@ -84,19 +85,17 @@ Root: HKCR; Subkey: "ZoiteChat.Theme\shell\open\command"; ValueType: string; Val
[Run] [Run]
Filename: "{app}\zoitechat.exe"; Description: "Run ZoiteChat after closing the Wizard"; Flags: nowait postinstall skipifsilent Filename: "{app}\zoitechat.exe"; Description: "Run ZoiteChat after closing the Wizard"; Flags: nowait postinstall skipifsilent
Filename: "http://docs.zoitechat.org/en/latest/changelog.html"; Description: "See what's changed"; Flags: shellexec runasoriginaluser postinstall skipifsilent unchecked Filename: "https://docs.zoitechat.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"; Components: deps\vcredist2015; Tasks: not portable Filename: "{tmp}\vc_redist.x64.exe"; Parameters: "/install /quiet /norestart"; StatusMsg: "Installing Visual C++ Redistributable"; Components: deps\vcredist2015; Tasks: not portable
Filename: "{tmp}\perl.msi"; StatusMsg: "Installing Perl"; Components: langs\perl; Flags: shellexec skipifdoesntexist; Tasks: not portable Filename: "{tmp}\strawberry-perl-5.42.0.1-64bit.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}\python.exe"; Parameters: "InstallAllUsers=1 PrependPath=1"; StatusMsg: "Installing Python"; Components: langs\python; Flags: shellexec skipifdoesntexist; Tasks: not portable Filename: "{tmp}\python-3.14.3-amd64.exe"; Parameters: "InstallAllUsers=1 PrependPath=1"; 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 Filename: "{tmp}\ZoiteChat.Spelling.Dictionaries.r2.exe"; Parameters: "/verysilent"; StatusMsg: "Installing Spelling Dictionaries"; Components: spell; Flags: skipifdoesntexist; Tasks: not portable
Filename: "{sys}\WindowsPowerShell\v1.0\powershell.exe"; Parameters: "-NoProfile -ExecutionPolicy Bypass -Command ""Expand-Archive -LiteralPath '{tmp}\Windows-10-3.2.1.zip' -DestinationPath '{userappdata}\ZoiteChat\gtk3-themes' -Force"""; StatusMsg: "Installing GTK3 Theme: Windows 10"; Components: themes\windows10; Flags: runhidden waituntilterminated skipifdoesntexist
Filename: "{sys}\WindowsPowerShell\v1.0\powershell.exe"; Parameters: "-NoProfile -ExecutionPolicy Bypass -Command ""Expand-Archive -LiteralPath '{tmp}\Windows-10-Dark-3.2.1-dark.zip' -DestinationPath '{userappdata}\ZoiteChat\gtk3-themes' -Force"""; StatusMsg: "Installing GTK3 Theme: Windows 10 Dark"; Components: themes\windows10dark; Flags: runhidden waituntilterminated skipifdoesntexist
[Dirs]
Name: "{userappdata}\ZoiteChat\gtk3-themes"; Components: themes
[Files] [Files]
Source: "https://dl.zoitechat.zoite.net/themes/GTK3Themes/Windows-10-3.2.1.zip"; DestDir: "{userappdata}\ZoiteChat\gtk3-themes"; DestName: "Windows-10-3.2.1.zip"; ExternalSize: 1896084; Hash: "029126d4dcf246777de0319d30b653b727e40d0a2c1939cf48559fa22b154055"; Flags: external download extractarchive ignoreversion recursesubdirs createallsubdirs; Components: themes\windows10
Source: "https://dl.zoitechat.zoite.net/themes/GTK3Themes/Windows-10-Dark-3.2.1-dark.zip"; DestDir: "{userappdata}\ZoiteChat\gtk3-themes"; DestName: "Windows-10-Dark-3.2.1-dark.zip"; ExternalSize: 1795077; Hash: "cc85eb07fb01ab18fe05105d51340c3731831dce288473a4038d62a0f11bae3f"; Flags: external download extractarchive ignoreversion recursesubdirs createallsubdirs; Components: themes\windows10dark
Source: "portable-mode"; DestDir: "{app}"; Tasks: portable Source: "portable-mode"; DestDir: "{app}"; Tasks: portable
Source: "changelog.url"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "changelog.url"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
@@ -206,65 +205,12 @@ Type: filesandordirs; Name: "{userappdata}\ZoiteChat\gtk3-themes\Windows-10-3.2.
Type: filesandordirs; Name: "{userappdata}\ZoiteChat\gtk3-themes\Windows-10-Dark-3.2.1-dark"; Components: themes\windows10dark Type: filesandordirs; Name: "{userappdata}\ZoiteChat\gtk3-themes\Windows-10-Dark-3.2.1-dark"; Components: themes\windows10dark
[Code] [Code]
#ifndef USE_INNO_DOWNLOAD_PLUGIN
var
FallbackDownloadUrls: array of String;
FallbackDownloadFiles: array of String;
function URLDownloadToFile(Caller: Integer; URL: String; FileName: String; Reserved: Integer; StatusCB: Integer): Integer;
external 'URLDownloadToFileW@urlmon.dll stdcall delayload';
// The Inno Download Plugin isn't always installed in CI environments.
// Provide no-op fallback procedures so installer compilation still succeeds.
procedure idpDownloadAfter(PageID: Integer);
begin
end;
procedure idpClearFiles;
begin
SetArrayLength(FallbackDownloadUrls, 0);
SetArrayLength(FallbackDownloadFiles, 0);
end;
procedure idpAddFile(URL: String; Filename: String);
var
I: Integer;
begin
I := GetArrayLength(FallbackDownloadUrls);
SetArrayLength(FallbackDownloadUrls, I + 1);
SetArrayLength(FallbackDownloadFiles, I + 1);
FallbackDownloadUrls[I] := URL;
FallbackDownloadFiles[I] := Filename;
end;
function idpDownloadQueuedFiles(): Boolean;
var
I: Integer;
ResultCode: Integer;
begin
Result := True;
for I := 0 to GetArrayLength(FallbackDownloadUrls) - 1 do
begin
if not FileExists(FallbackDownloadFiles[I]) then
begin
ResultCode := URLDownloadToFile(0, FallbackDownloadUrls[I], FallbackDownloadFiles[I], 0, 0);
if ResultCode <> 0 then
begin
MsgBox('Unable to download required installer dependency:' + #13#10 + FallbackDownloadUrls[I], mbError, MB_OK);
Result := False;
Exit;
end;
end;
end;
end;
#endif
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
procedure InitializeWizard; procedure InitializeWizard;
begin begin
WizardForm.LicenseAcceptedRadio.Checked := True; WizardForm.LicenseAcceptedRadio.Checked := True;
idpDownloadAfter(wpReady);
end; end;
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
@@ -343,13 +289,6 @@ begin
if(CurPageID = wpReady) then if(CurPageID = wpReady) then
begin begin
idpClearFiles;
if IsComponentSelected('themes\windows10') then
idpAddFile('https://dl.zoitechat.zoite.net/themes/GTK3Themes/Windows-10-3.2.1.zip', ExpandConstant('{tmp}\Windows-10-3.2.1.zip'));
if IsComponentSelected('themes\windows10dark') then
idpAddFile('https://dl.zoitechat.zoite.net/themes/GTK3Themes/Windows-10-Dark-3.2.1-dark.zip', ExpandConstant('{tmp}\Windows-10-Dark-3.2.1-dark.zip'));
if not IsTaskSelected('portable') then if not IsTaskSelected('portable') then
begin begin
@@ -359,23 +298,6 @@ begin
PY3 := 'https://www.python.org/ftp/python/3.14.3/python-3.14.3-amd64.exe'; PY3 := 'https://www.python.org/ftp/python/3.14.3/python-3.14.3-amd64.exe';
SPELL := 'https://github.com/zoitechat/gvsbuild/releases/download/zoitechat-2.16.2/ZoiteChat.Spelling.Dictionaries.r2.exe'; SPELL := 'https://github.com/zoitechat/gvsbuild/releases/download/zoitechat-2.16.2/ZoiteChat.Spelling.Dictionaries.r2.exe';
if IsComponentSelected('deps\vcredist2015') and not CheckVCInstall() then
idpAddFile(REDIST, ExpandConstant('{tmp}\vcredist.exe'));
if IsComponentSelected('spell') and not CheckSpellInstall() then
idpAddFile(SPELL, ExpandConstant('{tmp}\spelling-dicts.exe'));
if not WizardSilent() then
begin
if IsComponentSelected('langs\perl') and not CheckDLL('perl542.dll') then
begin
idpAddFile(PERL, ExpandConstant('{tmp}\perl.msi'))
end;
if IsComponentSelected('langs\python') and not CheckDLL('python314.dll') then
idpAddFile(PY3, ExpandConstant('{tmp}\python.exe'));
end;
end;
end; end;
end; end;
@@ -405,21 +327,8 @@ begin
if CurPageID = wpReady then if CurPageID = wpReady then
begin begin
if IsComponentSelected('themes\windows10') and not FileExists(ExpandConstant('{tmp}\Windows-10-3.2.1.zip')) then
begin
MsgBox('Windows 10 GTK3 theme could not be downloaded. Please retry setup and rerun setup.', mbError, MB_OK);
Result := False;
Exit;
end;
if IsComponentSelected('themes\windows10dark') and not FileExists(ExpandConstant('{tmp}\Windows-10-Dark-3.2.1-dark.zip')) then if IsComponentSelected('deps\vcredist2015') and not CheckVCInstall() and not FileExists(ExpandConstant('{tmp}\vc_redist.x64.exe')) then
begin
MsgBox('Windows 10 Dark GTK3 theme could not be downloaded. Please retry setup and rerun setup.', mbError, MB_OK);
Result := False;
Exit;
end;
if IsComponentSelected('deps\vcredist2015') and not CheckVCInstall() and not FileExists(ExpandConstant('{tmp}\vcredist.exe')) then
begin begin
MsgBox('Visual C++ Redistributable could not be downloaded. Please retry setup or install it manually and rerun setup.', mbError, MB_OK); MsgBox('Visual C++ Redistributable could not be downloaded. Please retry setup or install it manually and rerun setup.', mbError, MB_OK);
Result := False; Result := False;