; 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;