mirror of
https://github.com/YACReader/yacreader
synced 2025-12-04 08:22:51 -05:00
Some checks failed
Build / Initialization (push) Has been cancelled
Build / Code Format Validation (push) Has been cancelled
Build / Linux (Qt5) (push) Has been cancelled
Build / Linux (Qt6) (push) Has been cancelled
Build / Linux (Qt6 + 7zip) (push) Has been cancelled
Build / macOS (Qt6 Universal) (push) Has been cancelled
Build / macOS (Qt5) (push) Has been cancelled
Build / Windows x64 (Qt5) (push) Has been cancelled
Build / Windows x64 (Qt6) (push) Has been cancelled
Build / Windows ARM64 (Qt6) (push) Has been cancelled
Build / Windows x86 (Qt5) (push) Has been cancelled
Build / Docker amd64 Image (push) Has been cancelled
Build / Docker arm64 Image (push) Has been cancelled
Build / Publish Dev Builds (push) Has been cancelled
Build / Publish Release (push) Has been cancelled
Some users have experience problems when installing the app over an older installation, let's see if this works as expected.
229 lines
9.1 KiB
Plaintext
229 lines
9.1 KiB
Plaintext
[Setup]
|
|
DefaultGroupName=YACReader
|
|
LanguageDetectionMethod=locale
|
|
AppId={{019AC70F-0312-76B8-BD8F-BE9DCBF49E25}
|
|
AppName=YACReader
|
|
AppVerName=YACReader v{#VERSION}.{#BUILD_NUMBER}
|
|
AppVersion={#VERSION}.{#BUILD_NUMBER}
|
|
VersionInfoVersion={#VERSION}
|
|
DefaultDirName={pf}\YACReader
|
|
OutputBaseFilename=YACReader-v{#VERSION}.{#BUILD_NUMBER}-win{#PLATFORM}-{#COMPRESSED_ARCHIVE_BACKEND}-qt6
|
|
LicenseFile=COPYING.txt
|
|
AlwaysUsePersonalGroup=true
|
|
OutputDir=..\Output
|
|
ChangesAssociations=true
|
|
SetupIconFile=setup.ico
|
|
UninstallDisplayIcon=uninstall.ico
|
|
ArchitecturesInstallIn64BitMode={#PLATFORM}
|
|
ArchitecturesAllowed={#PLATFORM}
|
|
|
|
[Registry]
|
|
Root: HKCR; SubKey: .cbz; ValueType: string; ValueData: Comic Book (zip); Flags: uninsdeletekey; Tasks: File_association
|
|
Root: HKCR; SubKey: Comic Book (zip); ValueType: string; ValueData: Comic Book file; Flags: uninsdeletekey; Tasks: File_association
|
|
Root: HKCR; SubKey: Comic Book (zip)\Shell\Open\Command; ValueType: string; ValueData: """{app}\YACReader.exe"" ""%1"""; Flags: uninsdeletevalue; Tasks: File_association
|
|
Root: HKCR; Subkey: Comic Book (zip)\DefaultIcon; ValueType: string; ValueData: {app}\YACReader.exe,0; Flags: uninsdeletevalue; Tasks: File_association
|
|
Root: HKCR; SubKey: .cbr; ValueType: string; ValueData: Comic Book (rar); Flags: uninsdeletekey; Tasks: File_association
|
|
Root: HKCR; SubKey: Comic Book (rar); ValueType: string; ValueData: Comic Book file; Flags: uninsdeletekey; Tasks: File_association
|
|
Root: HKCR; SubKey: Comic Book (rar)\Shell\Open\Command; ValueType: string; ValueData: """{app}\YACReader.exe"" ""%1"""; Flags: uninsdeletevalue; Tasks: File_association
|
|
Root: HKCR; Subkey: Comic Book (rar)\DefaultIcon; ValueType: string; ValueData: {app}\YACReader.exe,0; Flags: uninsdeletevalue; Tasks: File_association
|
|
Root: HKCR; Subkey: .clc; ValueType: string; ValueData: Compressed Library Covers (clc); Flags: uninsdeletekey
|
|
Root: HKCR; SubKey: Compressed Library Covers (clc); ValueType: string; ValueData: Compressed Library Covers; Flags: uninsdeletekey
|
|
Root: HKCR; Subkey: Compressed Library Covers (clc)\DefaultIcon; ValueType: string; ValueData: {app}\YACReaderLibrary.exe,1; Flags: uninsdeletevalue
|
|
Root: HKCR; Subkey: .ydb; ValueType: string; ValueData: Compressed Library Covers (clc); Flags: uninsdeletekey
|
|
Root: HKCR; SubKey: YACReader Data Base (ydb); ValueType: string; ValueData: Compressed Library Covers; Flags: uninsdeletekey
|
|
Root: HKCR; Subkey: YACReader Data Base (ydb)\DefaultIcon; ValueType: string; ValueData: {app}\YACReaderLibrary.exe,1; Flags: uninsdeletevalue
|
|
|
|
[Files]
|
|
;Qt Frameworks
|
|
Source: Qt6Widgets.dll; DestDir: {app}
|
|
Source: Qt6Core.dll; DestDir: {app}
|
|
Source: Qt6Core5Compat.dll; DestDir: {app}
|
|
Source: Qt6Gui.dll; DestDir: {app}
|
|
Source: Qt6Multimedia.dll; DestDir: {app}
|
|
Source: Qt6Network.dll; DestDir: {app}
|
|
Source: Qt6OpenGL.dll; DestDir: {app}
|
|
Source: Qt6OpenGLWidgets.dll; DestDir: {app}
|
|
Source: Qt6Qml.dll; DestDir: {app}
|
|
Source: Qt6QmlModels.dll; DestDir: {app}
|
|
Source: Qt6QmlMeta.dll; DestDir: {app}
|
|
Source: Qt6QmlWorkerScript.dll; DestDir: {app}
|
|
Source: Qt6Quick.dll; DestDir: {app}
|
|
Source: Qt6QuickEffects.dll; DestDir: {app}
|
|
Source: Qt6QuickControls2.dll; DestDir: {app}
|
|
Source: Qt6QuickControls2Impl.dll; DestDir: {app}
|
|
Source: Qt6QuickControls2Basic.dll; DestDir: {app}
|
|
Source: Qt6QuickControls2BasicStyleImpl.dll; DestDir: {app}
|
|
Source: Qt6QuickControls2Fusion.dll; DestDir: {app}
|
|
Source: Qt6QuickControls2FusionStyleImpl.dll; DestDir: {app}
|
|
Source: Qt6QuickLayouts.dll; DestDir: {app}
|
|
Source: Qt6QuickShapes.dll; DestDir: {app}
|
|
Source: Qt6QuickTemplates2.dll; DestDir: {app}
|
|
Source: Qt6QuickWidgets.dll; DestDir: {app}
|
|
Source: Qt6Sql.dll; DestDir: {app}
|
|
Source: Qt6Svg.dll; DestDir: {app}
|
|
Source: Qt6ShaderTools.dll; DestDir: {app}
|
|
|
|
;Qt Angle
|
|
Source: opengl32sw.dll; DestDir: {app}; Flags: skipifsourcedoesntexist
|
|
Source: D3Dcompiler_47.dll; DestDir: {app}; Flags: skipifsourcedoesntexist
|
|
|
|
;Qt PlugIns
|
|
Source:generic\*; DestDir: {app}\generic\
|
|
Source:iconengines\*; DestDir: {app}\iconengines\
|
|
Source:imageformats\*; DestDir: {app}\imageformats\
|
|
Source:networkinformation\*; DestDir: {app}\networkinformation\
|
|
Source:platforms\*; DestDir: {app}\platforms\
|
|
Source:qml\*; DestDir: {app}\qml\; Flags: recursesubdirs
|
|
Source:qmltooling\*; DestDir: {app}\qmltooling\
|
|
Source:sqldrivers\qsqlite.dll; DestDir: {app}\sqldrivers\
|
|
Source:styles\*; DestDir: {app}\styles\
|
|
Source:tls\*; DestDir: {app}\tls\
|
|
Source:translations\*; DestDir: {app}\translations\
|
|
|
|
|
|
;Libs
|
|
Source: pdfium.dll; DestDir: {app}
|
|
Source: openssl\*; DestDir: {app}
|
|
|
|
;vcredist
|
|
Source: "vc_redist.{#PLATFORM}.exe"; DestDir: {tmp}; Flags: deleteafterinstall
|
|
|
|
;Utils
|
|
;Source: utils\7zip.exe; DestDir: {app}\utils\
|
|
Source: utils\7z.dll; DestDir: {app}\utils\
|
|
|
|
;Bin
|
|
Source: YACReader.exe; DestDir: {app}; Permissions: everyone-full;
|
|
Source: YACReaderLibrary.exe; DestDir: {app}; Permissions: everyone-full; Tasks:
|
|
Source: YACReaderLibraryServer.exe; DestDir: {app}; Permissions: everyone-full; Tasks:
|
|
|
|
;License
|
|
Source: README.md; DestDir: {app}; Flags: isreadme
|
|
Source: COPYING.txt; DestDir: {app}
|
|
|
|
;Languages
|
|
Source: languages\*; DestDir: {app}\languages\; Flags: recursesubdirs
|
|
;Server
|
|
Source: server\*; DestDir: {app}\server\; Flags: recursesubdirs
|
|
|
|
[Dirs]
|
|
Name: {app}; Permissions: everyone-full
|
|
|
|
[CustomMessages]
|
|
App=YACReader
|
|
AppLibrary=YACReaderLibrary
|
|
LaunchYACReaderLibrary=Start YACreaderLibrary after finishing installation
|
|
LaunchYACReader=Start YACreader after finishing installation
|
|
|
|
[Run]
|
|
Filename: {tmp}\vc_redist.{#PLATFORM}.exe; \
|
|
Parameters: "/install /quiet /norestart"; \
|
|
StatusMsg: "Installing VC++ Redistributables..."
|
|
|
|
Filename: {app}\{cm:AppLibrary}.exe; Description: {cm:LaunchYACReaderLibrary,{cm:AppLibrary}}; Flags: nowait postinstall skipifsilent
|
|
Filename: {app}\{cm:App}.exe; Description: {cm:LaunchYACReader,{cm:App}}; Flags: nowait postinstall skipifsilent
|
|
|
|
[Icons]
|
|
Name: {group}\YACReader; Filename: {app}\YACReader.exe; WorkingDir: {app}; IconIndex: 0
|
|
Name: {group}\YACReader Library; Filename: {app}\YACReaderLibrary.exe; WorkingDir: {app}; IconIndex: 0
|
|
;Name: {group}\YACReader Library Package; Filename: {app}\YACReaderLibrary.exe; WorkingDir: {app}; IconIndex: 0
|
|
[Tasks]
|
|
Name: File_association; Description: Associate .cbz and .cbr files with YACReader
|
|
;Name: StartYACReaderAfterInstall; Description: Run YACReader after install
|
|
;Name: StartYACReaderLibraryAfterInstall; Description: Run YACReaderLibrary after install
|
|
|
|
[ThirdPartySettings]
|
|
CompileLogMethod=append
|
|
|
|
[Code]
|
|
var donationPage: TOutputMsgWizardPage;
|
|
var URLLabel: TNewStaticText;
|
|
|
|
function GetUninstallString(): String;
|
|
var
|
|
sUnInstPath: String;
|
|
sUnInstallString: String;
|
|
begin
|
|
// First try the new AppId-based key
|
|
sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\{#emit SetupSetting("AppId")}_is1');
|
|
sUnInstallString := '';
|
|
if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then
|
|
RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString);
|
|
|
|
// If not found, try the old AppName-based key (for versions without AppId)
|
|
if sUnInstallString = '' then begin
|
|
sUnInstPath := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\YACReader_is1';
|
|
if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then
|
|
RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString);
|
|
end;
|
|
|
|
Result := sUnInstallString;
|
|
end;
|
|
|
|
function IsUpgrade(): Boolean;
|
|
begin
|
|
Result := (GetUninstallString() <> '');
|
|
end;
|
|
|
|
function UnInstallOldVersion(): Integer;
|
|
var
|
|
sUnInstallString: String;
|
|
iResultCode: Integer;
|
|
begin
|
|
Result := 0;
|
|
sUnInstallString := GetUninstallString();
|
|
if sUnInstallString <> '' then begin
|
|
sUnInstallString := RemoveQuotes(sUnInstallString);
|
|
if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then
|
|
Result := 3
|
|
else
|
|
Result := 2;
|
|
end else
|
|
Result := 1;
|
|
end;
|
|
|
|
procedure CurStepChanged(CurStep: TSetupStep);
|
|
begin
|
|
if (CurStep=ssInstall) then
|
|
begin
|
|
if (IsUpgrade()) then
|
|
begin
|
|
UnInstallOldVersion();
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure URLLabelOnClick(Sender: TObject);
|
|
var ErrorCode: Integer;
|
|
begin
|
|
ShellExec('open', 'https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=5TAMNQCDDMVP8&item_name=YACReader¤cy_code=EUR&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
|
|
end;
|
|
|
|
procedure InitializeWizard();
|
|
|
|
begin
|
|
|
|
URLLabel := TNewStaticText.Create(WizardForm);
|
|
URLLabel.Caption:='Make a DONATION/Haz una DONACIÓN';
|
|
URLLabel.Cursor:=crHand;
|
|
URLLabel.OnClick:=@URLLabelOnClick;
|
|
URLLabel.Parent:=WizardForm;
|
|
// Alter Font
|
|
URLLabel.Font.Style:=URLLabel.Font.Style + [fsUnderline];
|
|
URLLabel.Font.Color:=clBlue;
|
|
URLLabel.Top:=250;
|
|
|
|
URLLabel.Left:=35;
|
|
|
|
donationPage := CreateOutputMsgPage(wpWelcome,
|
|
'Iformation', 'Please read the following information before continuing.',
|
|
'YACReader is FREE software. If you like it, please, consider to make a DONATION'#13#13 +
|
|
'YACReader es software libre y GRATUITO. Si te gusta, por favor, considera realizar una DONACIÓN'#13#13)
|
|
|
|
end;
|
|
|
|
procedure CurPageChanged(CurPageID: Integer);
|
|
begin
|
|
if CurPageID=donationPage.ID then URLLabel.Visible:=true else URLLabel.Visible:=false;
|
|
end;
|