219 lines
12 KiB
Plaintext
219 lines
12 KiB
Plaintext
; Script generated by the Inno Setup Script Wizard.
|
|
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
|
|
|
#define ApplicationVersion GetVersionNumbersString("..\..\build\win32\release\product\SaiCore.exe")
|
|
|
|
|
|
[Setup]
|
|
; NOTE: The value of AppId uniquely identifies this application.
|
|
; Do not use the same AppId value in installers for other applications.
|
|
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
|
|
AppId={{8CCA6AC7-BBF9-4DD2-8E70-A907E0FCA38F}}
|
|
AppName=SaiCore
|
|
AppVersion={#ApplicationVersion}
|
|
AppVerName=SaiCore {#ApplicationVersion}
|
|
UninstallDisplayName=SaiCore {#ApplicationVersion}
|
|
AppPublisher=SaiCore
|
|
ArchitecturesInstallIn64BitMode=x64
|
|
|
|
AppPublisherURL=https://saicore.ru
|
|
AppSupportURL=https://saicore.ru
|
|
AppUpdatesURL=https://saicore.ru/update.json
|
|
|
|
DefaultDirName={pf}\SaiCore
|
|
DefaultGroupName=SaiCore
|
|
|
|
#define ProjectRoot GetEnv('PROJECT_ROOT')
|
|
|
|
OutputDir={#ProjectRoot}\install\win32\
|
|
OutputBaseFilename=SaiCore
|
|
SetupIconFile={#ProjectRoot}\resources\win\SaiCore.ico
|
|
Compression=lzma
|
|
SolidCompression=yes
|
|
|
|
[Languages]
|
|
Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl"
|
|
Name: "en"; MessagesFile: "compiler:Default.isl"
|
|
Name: "fr"; MessagesFile: "compiler:Languages\French.isl"
|
|
Name: "gr"; MessagesFile: "compiler:Languages\German.isl"
|
|
Name: "it"; MessagesFile: "compiler:Languages\Italian.isl"
|
|
Name: "sp"; MessagesFile: "compiler:Languages\Spanish.isl"
|
|
|
|
[Tasks]
|
|
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
|
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
|
|
|
[InstallDelete]
|
|
|
|
Type: files ; Name: "{app}\SaiCore.pdb"
|
|
Type: filesandordirs ; Name: "{app}\library"
|
|
Type: filesandordirs ; Name: "{app}\Microsoft.VC90.CRT"
|
|
Type: filesandordirs ; Name: "{app}\imageformats"
|
|
Type: filesandordirs ; Name: "{app}\iconengines"
|
|
Type: filesandordirs ; Name: "{app}\multimedia"
|
|
Type: filesandordirs ; Name: "{app}\platforms"
|
|
Type: filesandordirs ; Name: "{app}\resources"
|
|
Type: filesandordirs ; Name: "{app}\tls"
|
|
Type: filesandordirs ; Name: "{app}\translations"
|
|
Type: filesandordirs ; Name: "{app}\i18n"
|
|
Type: files ; Name: "{app}\*.dll"
|
|
|
|
|
|
#define QtLibs GetEnv('QT_BIN')
|
|
#define QtDir GetEnv('QT_DIR')
|
|
|
|
[Files]
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\microsoft\vcredist_2013.x64.exe"; DestDir:"{tmp}"
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\microsoft\vcredist_2015_2022.x64.exe"; DestDir:"{tmp}"
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\microsoft\LAVFilters-0.77.2-Installer.exe"; DestDir:"{tmp}"
|
|
Source: "{#ProjectRoot}\build\win32\release\product\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
|
|
|
;OpenSSL
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\openssl\openssl-3.0.15-win64\bin\libssl-3-x64.dll"; DestDir:"{app}"; Flags: ignoreversion
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\openssl\openssl-3.0.15-win64\bin\libcrypto-3-x64.dll"; DestDir:"{app}"; Flags: ignoreversion
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\openssl\win32\libeay32.dll"; DestDir:"{app}"; Flags: ignoreversion
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\openssl\win32\ssleay32.dll"; DestDir:"{app}"; Flags: ignoreversion
|
|
|
|
;Qt base dll
|
|
;Source: "SaiCore.exe"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6Concurrent.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6Core.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6Gui.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6Multimedia.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6MultimediaWidgets.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6Network.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6Opengl.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6PrintSupport.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6Qml.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6QmlMeta.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6QmlWorkerScript.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6Sql.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6Svg.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6SvgWidgets.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6Widgets.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6Xml.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6Quick.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6Positioning.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6QmlModels.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6WebChannel.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6WebEngineCore.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6WebEngineWidgets.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6QuickWidgets.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\Qt6Core5Compat.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\double-conversion.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\icudt74.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\icuin74.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\pcre2-16.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\harfbuzz.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\icuuc74.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\libcrypto-3-x64.dll"; DestDir: "{app}"
|
|
Source: "{#QtLibs}\zstd.dll"; DestDir: "{app}"
|
|
;Source: "/etc/freezedWidgetWrapper.html"; DestDir: "{app}"
|
|
;Source: "*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
|
|
|
|
|
; Poppler dlls
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\poppler\bin\brotlicommon.dll"; DestDir: "{app}"
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\poppler\bin\brotlidec.dll"; DestDir: "{app}"
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\poppler\bin\bz2.dll"; DestDir: "{app}"
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\poppler\bin\freetype.dll"; DestDir: "{app}"
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\poppler\bin\jpeg62.dll"; DestDir: "{app}"
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\poppler\bin\liblzma.dll"; DestDir: "{app}"
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\poppler\bin\libpng16.dll"; DestDir: "{app}"
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\poppler\bin\openjp2.dll"; DestDir: "{app}"
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\poppler\bin\poppler.dll"; DestDir: "{app}"
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\poppler\bin\poppler-cpp.dll"; DestDir: "{app}"
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\poppler\bin\tiff.dll"; DestDir: "{app}"
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\poppler\bin\zlib1.dll"; DestDir: "{app}"
|
|
|
|
Source: "{#ProjectRoot}\..\SaiCore-ThirdParty\zlib\1.2.11\bin\zlib.dll"; DestDir:"{app}"; Flags: ignoreversion
|
|
|
|
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
|
|
|
;Qt windows plugins
|
|
Source: "{#QtDir}\Qt6\plugins\platforms\qminimal.dll"; DestDir: "{app}\platforms"; Flags: ignoreversion
|
|
Source: "{#QtDir}\Qt6\plugins\platforms\qoffscreen.dll"; DestDir: "{app}\platforms"; Flags: ignoreversion
|
|
Source: "{#QtDir}\Qt6\plugins\platforms\qwindows.dll"; DestDir: "{app}\platforms"; Flags: ignoreversion
|
|
|
|
|
|
;Qt images formats plugins
|
|
Source: "{#QtDir}\Qt6\plugins\imageformats\qgif.dll"; DestDir: "{app}\imageformats"; Flags: ignoreversion
|
|
Source: "{#QtDir}\Qt6\plugins\imageformats\qico.dll"; DestDir: "{app}\imageformats"; Flags: ignoreversion
|
|
Source: "{#QtDir}\Qt6\plugins\imageformats\qjpeg.dll"; DestDir: "{app}\imageformats"; Flags: ignoreversion
|
|
Source: "{#QtDir}\Qt6\plugins\imageformats\qsvg.dll"; DestDir: "{app}\imageformats"; Flags: ignoreversion
|
|
|
|
;qt icon engine plugin
|
|
Source: "{#QtDir}\Qt6\plugins\iconengines\qsvgicon.dll"; DestDir: "{app}\iconengines"; Flags: ignoreversion
|
|
|
|
;qt multimedia plugin
|
|
Source: "{#QtDir}\Qt6\plugins\multimedia\windowsmediaplugin.dll"; DestDir: "{app}\multimedia"; Flags: ignoreversion
|
|
|
|
;qt tls dependencies
|
|
Source: "{#QtDir}\Qt6\plugins\tls\qcertonlybackend.dll"; DestDir: "{app}\tls"; Flags: ignoreversion
|
|
Source: "{#QtDir}\Qt6\plugins\tls\qopensslbackend.dll"; DestDir: "{app}\tls"; Flags: ignoreversion
|
|
Source: "{#QtDir}\Qt6\plugins\tls\qschannelbackend.dll"; DestDir: "{app}\tls"; Flags: ignoreversion
|
|
|
|
;QtWebEngine dependencies
|
|
Source: "{#QtLibs}\QtWebEngineProcess.exe"; DestDir: "{app}"
|
|
Source: "{#QtDir}\share\Qt6\resources\*"; DestDir: "{app}\resources"
|
|
|
|
;Qt translations
|
|
;Source: "{#QtDir}\translations\Qt6\*"; DestDir: "{app}\i18n"
|
|
Source: "{#QtDir}\translations\Qt6\qtwebengine_locales\*"; DestDir: "{app}\translations\Qt6\qtwebengine_locales"
|
|
|
|
;fonts for xpdf
|
|
Source: "{#ProjectRoot}\resources\windows\xpdfrc"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "{#ProjectRoot}\resources\fonts\*"; DestDir: "{app}\fonts"; Flags: ignoreversion
|
|
|
|
[Icons]
|
|
Name: "{group}\SaiCore"; Filename: "{app}\SaiCore.exe"
|
|
Name: "{group}\{cm:UninstallProgram,SaiCore}"; Filename: "{uninstallexe}"
|
|
Name: "{commondesktop}\SaiCore"; Filename: "{app}\SaiCore.exe"; Tasks: desktopicon
|
|
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\SaiCore"; Filename: "{app}\SaiCore.exe"; Tasks: quicklaunchicon
|
|
|
|
[Registry]
|
|
Root: HKCR; Subkey: ".ubz"; ValueType: string; ValueName: ""; ValueData: "SaiCoreFile"; Flags: uninsdeletevalue
|
|
Root: HKCR; Subkey: "SaiCoreFile"; ValueType: string; ValueName: ""; ValueData: "SaiCore document"; Flags: uninsdeletekey
|
|
Root: HKCR; Subkey: "SaiCoreFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\SaiCore.exe,1"
|
|
Root: HKCR; Subkey: "SaiCoreFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\SaiCore.exe"" ""%1"""
|
|
|
|
Root: HKLM; Subkey: "SOFTWARE\SaiCore"; ValueType: string; ValueName: "Client application"; ValueData: "{app}\SaiCore.exe"; Flags: uninsdeletevalue; Check: isProcessorNotX64
|
|
Root: HKLM; Subkey: "SOFTWARE\SaiCore"; ValueType: dword; ValueName: "Transfer mode"; ValueData: "0"; Flags: uninsdeletevalue; Check: isProcessorNotX64
|
|
Root: HKLM; Subkey: "SOFTWARE\SaiCore"; ValueType: dword; ValueName: "EMF: Hide page"; ValueData: "1"; Flags: uninsdeletevalue; Check: isProcessorNotX64
|
|
Root: HKLM; Subkey: "SOFTWARE\SaiCore\Defaults"; ValueType: dword; ValueName: "PDF: Enabled"; ValueData: "1"; Flags: uninsdeletevalue; Check: isProcessorNotX64
|
|
|
|
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Internet Explorer\Low Rights\DragDrop\{{E63D17F8-D9DA-479D-B9B5-0D101A03703B}"; ValueType: dword; ValueName: "Policy"; ValueData: "3"; Flags: uninsdeletevalue; Check: isProcessorNotX64
|
|
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Internet Explorer\Low Rights\DragDrop\{{E63D17F8-D9DA-479D-B9B5-0D101A03703B}"; ValueType: string; ValueName: "AppName"; ValueData: "SaiCore.exe"; Flags: uninsdeletevalue; Check: isProcessorNotX64
|
|
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Internet Explorer\Low Rights\DragDrop\{{E63D17F8-D9DA-479D-B9B5-0D101A03703B}"; ValueType: string; ValueName: "AppPath"; ValueData: "{app}"; Flags: uninsdeletevalue; Check: isProcessorNotX64
|
|
|
|
Root: HKLM64; Subkey: "SOFTWARE\SaiCore"; ValueType: string; ValueName: "Client application"; ValueData: "{app}\SaiCore.exe"; Flags: uninsdeletevalue; Check: isProcessorX64
|
|
Root: HKLM64; Subkey: "SOFTWARE\SaiCore"; ValueType: dword; ValueName: "Transfer mode"; ValueData: "0"; Flags: uninsdeletevalue; Check: isProcessorX64
|
|
Root: HKLM64; Subkey: "SOFTWARE\SaiCore"; ValueType: dword; ValueName: "EMF: Hide page"; ValueData: "1"; Flags: uninsdeletevalue; Check: isProcessorX64
|
|
Root: HKLM64; Subkey: "SOFTWARE\SaiCore\Defaults"; ValueType: dword; ValueName: "PDF: Enabled"; ValueData: "1"; Flags: uninsdeletevalue; Check: isProcessorX64
|
|
|
|
Root: HKLM64; Subkey: "SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Low Rights\DragDrop\{{E63D17F8-D9DA-479D-B9B5-0D101A03703B}"; ValueType: dword; ValueName: "Policy"; ValueData: "3"; Flags: uninsdeletevalue; Check: isProcessorX64
|
|
Root: HKLM64; Subkey: "SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Low Rights\DragDrop\{{E63D17F8-D9DA-479D-B9B5-0D101A03703B}"; ValueType: string; ValueName: "AppName"; ValueData: "SaiCore.exe"; Flags: uninsdeletevalue; Check: isProcessorX64
|
|
Root: HKLM64; Subkey: "SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Low Rights\DragDrop\{{E63D17F8-D9DA-479D-B9B5-0D101A03703B}"; ValueType: string; ValueName: "AppPath"; ValueData: "{app}"; Flags: uninsdeletevalue; Check: isProcessorX64
|
|
|
|
[Run]
|
|
Filename: "{tmp}\vcredist_2013.x64.exe";WorkingDir:"{tmp}"; Parameters: "/install /quiet /norestart"; StatusMsg: Installing CRT 2013...
|
|
Filename: "{tmp}\vcredist_2015_2022.x64.exe";WorkingDir:"{tmp}"; Parameters: "/install /quiet /norestart"; StatusMsg: Installing CRT 2015-2022 ...
|
|
Filename: "{tmp}\LAVFilters-0.77.2-Installer.exe";WorkingDir:"{tmp}"; Parameters: "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART"; StatusMsg: Installing LAV Filters ...
|
|
Filename: "{app}\SaiCore.exe"; Description: "{cm:LaunchProgram,SaiCore}"; Flags: nowait postinstall skipifsilent
|
|
|
|
[UninstallDelete]
|
|
; cleanup and delete whole installation directory
|
|
Name: {app}; Type: filesandordirs
|
|
|
|
[Code]
|
|
function isProcessorX64: Boolean;
|
|
begin
|
|
Result := (ProcessorArchitecture = paX64);
|
|
end;
|
|
|
|
function isProcessorNotX64: Boolean;
|
|
begin
|
|
Result := not isProcessorX64;
|
|
end;
|
|
|