diff --git a/CI/wininstaller/build_installer.cmd b/CI/wininstaller/build_installer.cmd index 40dab6834..78cae9f37 100644 --- a/CI/wininstaller/build_installer.cmd +++ b/CI/wininstaller/build_installer.cmd @@ -4,8 +4,8 @@ setlocal enabledelayedexpansion cls REM Define variables dynamically relative to the normalized base directory -set "AppVersion=1.6.0" -set "AppBuild=cd67ced" +set "AppVersion=1.6.1" +set "AppBuild=1122334455A" set "InstallerArch=x64" set "VCMIFolder=VCMI" @@ -23,6 +23,7 @@ for %%i in ("%BaseDir%") do set "BaseDir=%%~fi" REM Define specific subdirectories relative to the base directory set "SourceFilesPath=%BaseDir%bin\Release" +set "UCRTFilesPath=%BaseDir%CI\wininstaller\ucrt" set "LangPath=%BaseDir%CI\wininstaller\lang" set "LicenseFile=%BaseDir%license.txt" set "IconFile=%BaseDir%clientapp\icons\vcmi.ico" @@ -58,6 +59,11 @@ if not exist "%SourceFilesPath%" ( pause goto :eof ) +if not exist "%UCRTFilesPath%" ( + echo ERROR: UCRT files path not found: !UCRTFilesPath! + pause + goto :eof +) REM Call Inno Setup Compiler "%ProgFiles%\Inno Setup %InnoSetupVer%\ISCC.exe" "%InstallerScript%" ^ @@ -65,6 +71,7 @@ REM Call Inno Setup Compiler /DAppBuild="%AppBuild%" ^ /DInstallerArch="%InstallerArch%" ^ /DSourceFilesPath="%SourceFilesPath%" ^ + /DUCRTFilesPath="%UCRTFilesPath%" ^ /DVCMIFolder="%VCMIFolder%" ^ /DLangPath="%LangPath%" ^ /DLicenseFile="%LicenseFile%" ^ diff --git a/CI/wininstaller/installer.iss b/CI/wininstaller/installer.iss index d94f2b2c8..76b4fdd96 100644 --- a/CI/wininstaller/installer.iss +++ b/CI/wininstaller/installer.iss @@ -18,16 +18,17 @@ ; Manual preprocessor definitions are provided using ISCC.exe parameters. -#define AppVersion "1.6.0" -#define AppBuild "2272707" -#define InstallerArch "x64" - -#define SourceFilesPath "C:\_VCMI_Source_v2\_files" -#define LangPath "C:\_VCMI_Source_v2\CI\wininstaller\lang" -#define LicenseFile "C:\_VCMI_Source_v2\license.txt" -#define IconFile "C:\_VCMI_Source_v2\clientapp\icons\vcmi.ico" -#define SmallLogo "C:\_VCMI_Source_v2\CI\wininstaller\vcmismalllogo.bmp" -#define WizardLogo "C:\_VCMI_Source_v2\CI\wininstaller\vcmilogo.bmp" +; #define AppVersion "1.6.1" +; #define AppBuild "1122334455A" +; #define InstallerArch "x86" +; +; #define SourceFilesPath "C:\_VCMI_Source_v2\_files_x86" +; #define UCRTFilesPath "C:\_VCMI_Source_v2\CI\wininstaller\ucrt" +; #define LangPath "C:\_VCMI_Source_v2\CI\wininstaller\lang" +; #define LicenseFile "C:\_VCMI_Source_v2\license.txt" +; #define IconFile "C:\_VCMI_Source_v2\clientapp\icons\vcmi.ico" +; #define SmallLogo "C:\_VCMI_Source_v2\CI\wininstaller\vcmismalllogo.bmp" +; #define WizardLogo "C:\_VCMI_Source_v2\CI\wininstaller\vcmilogo.bmp" #define VCMIFolder "VCMI" @@ -43,7 +44,7 @@ [Setup] -AppId={#VCMIFolder} +AppId={#VCMIFolder}.{#InstallerArch} AppName={#VCMIFolder} AppVersion={#AppVersion}.{#AppBuild} AppVerName={#VCMIFolder} @@ -109,6 +110,7 @@ Name: "vietnamese"; MessagesFile: "{#LangPath}\Vietnamese.isl" [Files] Source: "{#SourceFilesPath}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; BeforeInstall: PerformHeroes3FileCopy +Source: "{#UCRTFilesPath}\{#InstallerArch}\*"; DestDir: "{app}"; Flags: ignoreversion; Check: IsUCRTNeeded [Icons] @@ -127,7 +129,7 @@ Name: "fileassociation_h3m"; Description: "{cm:AssociateH3MFiles}"; GroupDescrip Name: "fileassociation_vcmimap"; Description: "{cm:AssociateVCMIMapFiles}"; GroupDescription: "{cm:SystemIntegration}" Name: "firewallrules"; Description: "{cm:AddFirewallRules}"; GroupDescription: "{cm:VCMISettings}"; Check: IsAdminInstallMode -Name: "h3copyfiles"; Description: "{cm:CopyH3Files}"; GroupDescription: "{cm:VCMISettings}"; Check: IsHeroes3Installed +Name: "h3copyfiles"; Description: "{cm:CopyH3Files}"; GroupDescription: "{cm:VCMISettings}"; Check: IsHeroes3Installed and IsCopyFilesNeeded [Registry] @@ -175,6 +177,8 @@ var GlobalUserDocsFolder: String; GlobalUserAppdataFolder: String; + VCMIMapsFolder, VCMIDataFolder, VCMIMp3Folder: String; + Heroes3MapsFolder, Heroes3DataFolder, Heroes3Mp3Folder: String; function RegistryQueryPath(Key, ValueName: String): String; begin @@ -397,6 +401,49 @@ begin end; +function IsUCRTNeeded: Boolean; +var + FileName: String; +begin + Result := False; // Default to not copying files + + // Normalize and extract the file name from CurrentFileName + FileName := ExtractFileName(ExpandConstant(CurrentFileName)); + + // Check for file existence based on architecture + if IsWin64 then + begin + if ExpandConstant('{#InstallerArch}') = 'x64' then + // For 64-bit installer on 64-bit OS, check System32 + Result := not FileExists(ExpandConstant('{win}\System32\' + FileName)) + else + // For 32-bit installer on 64-bit OS, check SysWOW64 + Result := not FileExists(ExpandConstant('{win}\SysWOW64\' + FileName)); + end + else + // For 32-bit OS, always check System32 + Result := not FileExists(ExpandConstant('{win}\System32\' + FileName)); +end; + + +function IsHeroes3Installed(): Boolean; +begin + Result := False; + + if (Heroes3Path <> '') then + Result := True; + +end; + + +function IsCopyFilesNeeded(): Boolean; +begin + // Check if any of the required folders are not valid + Result := not (IsFolderValid(VCMIDataFolder) and IsFolderValid(VCMIMapsFolder) and IsFolderValid(VCMIMp3Folder)); + +end; + + function InitializeSetup(): Boolean; var InstallPath: String; @@ -408,7 +455,32 @@ begin GlobalUserName := GetCurrentSessionUserName(); GlobalUserDocsFolder := GetUserDocsFolder(); GlobalUserAppdataFolder := GetUserAppdataFolder(); + + // Define paths for VCMI + VCMIMapsFolder := GlobalUserDocsFolder + '\' + '{#VCMIFilesFolder}' + '\Maps'; + VCMIDataFolder := GlobalUserDocsFolder + '\' + '{#VCMIFilesFolder}' + '\Data'; + VCMIMp3Folder := GlobalUserDocsFolder + '\' + '{#VCMIFilesFolder}' + '\Mp3'; + // Check for Heroes 3 installation paths + Heroes3Path := RegistryQueryPath('SOFTWARE\GOG.com\Games\1207658787', 'path'); + if Heroes3Path = '' then + Heroes3Path := RegistryQueryPath('SOFTWARE\WOW6432Node\GOG.com\Games\1207658787', 'path'); + if Heroes3Path = '' then + Heroes3Path := RegistryQueryPath('SOFTWARE\New World Computing\Heroes of Might and Magic® III\1.0', 'AppPath'); + if Heroes3Path = '' then + Heroes3Path := RegistryQueryPath('SOFTWARE\WOW6432Node\New World Computing\Heroes of Might and Magic® III\1.0', 'AppPath'); + if Heroes3Path = '' then + Heroes3Path := RegistryQueryPath('SOFTWARE\New World Computing\Heroes of Might and Magic III\1.0', 'AppPath'); + if Heroes3Path = '' then + Heroes3Path := RegistryQueryPath('SOFTWARE\WOW6432Node\New World Computing\Heroes of Might and Magic III\1.0', 'AppPath'); + + if (Heroes3Path <> '') then + begin + Heroes3MapsFolder := Heroes3Path + '\Maps'; + Heroes3DataFolder := Heroes3Path + '\Data'; + Heroes3Mp3Folder := Heroes3Path + '\Mp3'; + end; + Result := True; end; @@ -425,8 +497,6 @@ end; procedure InitializeWizard(); -var - VCMIFolder, MapsFolder, DataFolder, Mp3Folder: String; begin // Check if the application is already installed if not IsUpgrade then @@ -462,19 +532,6 @@ begin InstallModePage.CheckListBox.Invalidate(); end; end; - - // Check for Heroes 3 installation paths - Heroes3Path := RegistryQueryPath('SOFTWARE\GOG.com\Games\1207658787', 'path'); - if Heroes3Path = '' then - Heroes3Path := RegistryQueryPath('SOFTWARE\WOW6432Node\GOG.com\Games\1207658787', 'path'); - if Heroes3Path = '' then - Heroes3Path := RegistryQueryPath('SOFTWARE\New World Computing\Heroes of Might and Magic® III\1.0', 'AppPath'); - if Heroes3Path = '' then - Heroes3Path := RegistryQueryPath('SOFTWARE\WOW6432Node\New World Computing\Heroes of Might and Magic® III\1.0', 'AppPath'); - if Heroes3Path = '' then - Heroes3Path := RegistryQueryPath('SOFTWARE\New World Computing\Heroes of Might and Magic III\1.0', 'AppPath'); - if Heroes3Path = '' then - Heroes3Path := RegistryQueryPath('SOFTWARE\WOW6432Node\New World Computing\Heroes of Might and Magic III\1.0', 'AppPath'); // Attach an OnClick event handler to the tasks list WizardForm.TasksList.OnClickCheck := @OnTaskCheck; @@ -498,19 +555,7 @@ begin end; -function IsHeroes3Installed(): Boolean; -begin - Result := False; - - if (Heroes3Path <> '') then - Result := True; - -end; - - function ShouldSkipPage(PageID: Integer): Boolean; -var - CustomText: String; begin Result := False; // Default is not to skip the page @@ -529,7 +574,7 @@ procedure CurPageChanged(CurPageID: Integer); begin // Ensure the footer message is visible on every page FooterLabel.Visible := True; - + end; @@ -564,8 +609,6 @@ end; procedure PerformHeroes3FileCopy(); var i: Integer; - VCMIFilesFolder, VCMIMapsFolder, VCMIDataFolder, VCMIMp3Folder: String; - Heroes3MapsFolder, Heroes3DataFolder, Heroes3Mp3Folder: String; begin // Loop through all tasks to find the "h3copyfiles" task for i := 0 to WizardForm.TasksList.Items.Count - 1 do @@ -576,25 +619,19 @@ begin // Check if the "h3copyfiles" task is checked if WizardForm.TasksList.Checked[i] then begin - // Define paths for VCMI and Heroes 3 directories - VCMIFilesFolder := GlobalUserDocsFolder + '\' + '{#VCMIFilesFolder}'; - VCMIMapsFolder := VCMIFilesFolder + '\Maps'; - VCMIDataFolder := VCMIFilesFolder + '\Data'; - VCMIMp3Folder := VCMIFilesFolder + '\Mp3'; + + if IsCopyFilesNeeded then + begin + // Copy folders if conditions are met + if (IsFolderValid(Heroes3MapsFolder) and not IsFolderValid(VCMIMapsFolder)) then + CopyFolderContents(Heroes3MapsFolder, VCMIMapsFolder, True); - Heroes3MapsFolder := Heroes3Path + '\Maps'; - Heroes3DataFolder := Heroes3Path + '\Data'; - Heroes3Mp3Folder := Heroes3Path + '\Mp3'; + if (IsFolderValid(Heroes3DataFolder) and not IsFolderValid(VCMIDataFolder)) then + CopyFolderContents(Heroes3DataFolder, VCMIDataFolder, True); - // Copy folders if conditions are met - if (DirExists(Heroes3MapsFolder) and ((not DirExists(VCMIMapsFolder)) or (FolderSize(VCMIMapsFolder) < 1024 * 1024))) then - CopyFolderContents(Heroes3MapsFolder, VCMIMapsFolder, True); - - if (DirExists(Heroes3DataFolder) and ((not DirExists(VCMIDataFolder)) or (FolderSize(VCMIDataFolder) < 1024 * 1024))) then - CopyFolderContents(Heroes3DataFolder, VCMIDataFolder, True); - - if (DirExists(Heroes3Mp3Folder) and ((not DirExists(VCMIMp3Folder)) or (FolderSize(VCMIMp3Folder) < 1024 * 1024))) then - CopyFolderContents(Heroes3Mp3Folder, VCMIMp3Folder, True); + if (IsFolderValid(Heroes3Mp3Folder) and not IsFolderValid(VCMIMp3Folder)) then + CopyFolderContents(Heroes3Mp3Folder, VCMIMp3Folder, True); + end; end; Exit; // Task found, exit the loop end; @@ -604,6 +641,7 @@ end; /// Uninstall /////////////////////////////////////////////////////////////////////////////////////////////////////////////// + var DeleteUserDataCheckbox: TNewCheckBox; DeleteUserDataLabel: TLabel; @@ -680,6 +718,7 @@ procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin if CurUninstallStep = usUninstall then PerformFileDeletion; + // Repeat delete process after uninstall due logs from killed processes during uninstall if CurUninstallStep = usPostUninstall then PerformFileDeletion; end; diff --git a/CI/wininstaller/ucrt/Source.txt b/CI/wininstaller/ucrt/Source.txt new file mode 100644 index 000000000..702f836be --- /dev/null +++ b/CI/wininstaller/ucrt/Source.txt @@ -0,0 +1 @@ +C:\Program Files (x86)\Windows Kits\10\Redist\10.0.22621.0\ucrt\DLLs \ No newline at end of file diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-console-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-console-l1-1-0.dll new file mode 100644 index 000000000..acd04c62f Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-console-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-console-l1-2-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-console-l1-2-0.dll new file mode 100644 index 000000000..d16a2cc4d Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-console-l1-2-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-datetime-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-datetime-l1-1-0.dll new file mode 100644 index 000000000..074cfe943 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-datetime-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-debug-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-debug-l1-1-0.dll new file mode 100644 index 000000000..7d7629f0f Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-debug-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-errorhandling-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-errorhandling-l1-1-0.dll new file mode 100644 index 000000000..bb02242b3 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-errorhandling-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-fibers-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-fibers-l1-1-0.dll new file mode 100644 index 000000000..021b57b8c Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-fibers-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-file-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-file-l1-1-0.dll new file mode 100644 index 000000000..443200ccc Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-file-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-file-l1-2-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-file-l1-2-0.dll new file mode 100644 index 000000000..97a0097ae Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-file-l1-2-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-file-l2-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-file-l2-1-0.dll new file mode 100644 index 000000000..97c4da274 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-file-l2-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-handle-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-handle-l1-1-0.dll new file mode 100644 index 000000000..825650c43 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-handle-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-heap-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-heap-l1-1-0.dll new file mode 100644 index 000000000..61f6db954 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-heap-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-interlocked-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-interlocked-l1-1-0.dll new file mode 100644 index 000000000..e8b1f813d Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-interlocked-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-libraryloader-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-libraryloader-l1-1-0.dll new file mode 100644 index 000000000..c895394c2 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-libraryloader-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-localization-l1-2-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-localization-l1-2-0.dll new file mode 100644 index 000000000..6a8cdf3e3 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-localization-l1-2-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-memory-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-memory-l1-1-0.dll new file mode 100644 index 000000000..4f084c2de Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-memory-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-namedpipe-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-namedpipe-l1-1-0.dll new file mode 100644 index 000000000..8657870cf Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-namedpipe-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-processenvironment-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-processenvironment-l1-1-0.dll new file mode 100644 index 000000000..8cb14919f Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-processenvironment-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-processthreads-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-processthreads-l1-1-0.dll new file mode 100644 index 000000000..83ffbbfc1 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-processthreads-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-processthreads-l1-1-1.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-processthreads-l1-1-1.dll new file mode 100644 index 000000000..f129357cd Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-processthreads-l1-1-1.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-profile-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-profile-l1-1-0.dll new file mode 100644 index 000000000..2f74dc209 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-profile-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-rtlsupport-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-rtlsupport-l1-1-0.dll new file mode 100644 index 000000000..ceb4c0d85 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-rtlsupport-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-string-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-string-l1-1-0.dll new file mode 100644 index 000000000..5a6eca6a2 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-string-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-synch-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-synch-l1-1-0.dll new file mode 100644 index 000000000..fcab465b8 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-synch-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-synch-l1-2-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-synch-l1-2-0.dll new file mode 100644 index 000000000..44d4ea07b Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-synch-l1-2-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-sysinfo-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-sysinfo-l1-1-0.dll new file mode 100644 index 000000000..1ac01dd82 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-sysinfo-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-timezone-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-timezone-l1-1-0.dll new file mode 100644 index 000000000..944bada4c Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-timezone-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-core-util-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-core-util-l1-1-0.dll new file mode 100644 index 000000000..41b1019c8 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-core-util-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-crt-conio-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-crt-conio-l1-1-0.dll new file mode 100644 index 000000000..c45f2e59b Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-crt-conio-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-crt-convert-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-crt-convert-l1-1-0.dll new file mode 100644 index 000000000..d26ff06d0 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-crt-convert-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-crt-environment-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-crt-environment-l1-1-0.dll new file mode 100644 index 000000000..814effa79 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-crt-environment-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-crt-filesystem-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-crt-filesystem-l1-1-0.dll new file mode 100644 index 000000000..94bd00b45 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-crt-filesystem-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-crt-heap-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-crt-heap-l1-1-0.dll new file mode 100644 index 000000000..afe8a06ae Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-crt-heap-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-crt-locale-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-crt-locale-l1-1-0.dll new file mode 100644 index 000000000..4c078b325 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-crt-locale-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-crt-math-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-crt-math-l1-1-0.dll new file mode 100644 index 000000000..240b35e35 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-crt-math-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-crt-multibyte-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-crt-multibyte-l1-1-0.dll new file mode 100644 index 000000000..f7deb09c8 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-crt-multibyte-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-crt-private-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-crt-private-l1-1-0.dll new file mode 100644 index 000000000..b9af7f18f Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-crt-private-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-crt-process-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-crt-process-l1-1-0.dll new file mode 100644 index 000000000..3325b2368 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-crt-process-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-crt-runtime-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-crt-runtime-l1-1-0.dll new file mode 100644 index 000000000..b5b1abd60 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-crt-runtime-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-crt-stdio-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-crt-stdio-l1-1-0.dll new file mode 100644 index 000000000..8dc9e221c Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-crt-stdio-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-crt-string-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-crt-string-l1-1-0.dll new file mode 100644 index 000000000..6ba75fe6a Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-crt-string-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-crt-time-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-crt-time-l1-1-0.dll new file mode 100644 index 000000000..94884532f Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-crt-time-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/api-ms-win-crt-utility-l1-1-0.dll b/CI/wininstaller/ucrt/x64/api-ms-win-crt-utility-l1-1-0.dll new file mode 100644 index 000000000..07f203b78 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/api-ms-win-crt-utility-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x64/ucrtbase.dll b/CI/wininstaller/ucrt/x64/ucrtbase.dll new file mode 100644 index 000000000..47961e988 Binary files /dev/null and b/CI/wininstaller/ucrt/x64/ucrtbase.dll differ diff --git a/CI/wininstaller/ucrt/x86/API-MS-Win-core-xstate-l2-1-0.dll b/CI/wininstaller/ucrt/x86/API-MS-Win-core-xstate-l2-1-0.dll new file mode 100644 index 000000000..8b6d8f0ac Binary files /dev/null and b/CI/wininstaller/ucrt/x86/API-MS-Win-core-xstate-l2-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-console-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-console-l1-1-0.dll new file mode 100644 index 000000000..fb3fec0b3 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-console-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-console-l1-2-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-console-l1-2-0.dll new file mode 100644 index 000000000..ca2e08f2c Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-console-l1-2-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-datetime-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-datetime-l1-1-0.dll new file mode 100644 index 000000000..5291ec01b Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-datetime-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-debug-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-debug-l1-1-0.dll new file mode 100644 index 000000000..024559ba0 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-debug-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-errorhandling-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-errorhandling-l1-1-0.dll new file mode 100644 index 000000000..b2707c26b Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-errorhandling-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-fibers-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-fibers-l1-1-0.dll new file mode 100644 index 000000000..10e70b085 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-fibers-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-file-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-file-l1-1-0.dll new file mode 100644 index 000000000..7b43a053b Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-file-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-file-l1-2-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-file-l1-2-0.dll new file mode 100644 index 000000000..9a440afbe Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-file-l1-2-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-file-l2-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-file-l2-1-0.dll new file mode 100644 index 000000000..49c2ed228 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-file-l2-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-handle-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-handle-l1-1-0.dll new file mode 100644 index 000000000..454689745 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-handle-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-heap-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-heap-l1-1-0.dll new file mode 100644 index 000000000..980eaf886 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-heap-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-interlocked-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-interlocked-l1-1-0.dll new file mode 100644 index 000000000..5cf12dca7 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-interlocked-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-libraryloader-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-libraryloader-l1-1-0.dll new file mode 100644 index 000000000..35d660e80 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-libraryloader-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-localization-l1-2-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-localization-l1-2-0.dll new file mode 100644 index 000000000..a7f5334a0 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-localization-l1-2-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-memory-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-memory-l1-1-0.dll new file mode 100644 index 000000000..7d8d517cc Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-memory-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-namedpipe-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-namedpipe-l1-1-0.dll new file mode 100644 index 000000000..6dd91b6b4 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-namedpipe-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-processenvironment-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-processenvironment-l1-1-0.dll new file mode 100644 index 000000000..6206443b1 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-processenvironment-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-processthreads-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-processthreads-l1-1-0.dll new file mode 100644 index 000000000..d91804df7 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-processthreads-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-processthreads-l1-1-1.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-processthreads-l1-1-1.dll new file mode 100644 index 000000000..b440f7c7e Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-processthreads-l1-1-1.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-profile-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-profile-l1-1-0.dll new file mode 100644 index 000000000..8d5fbbe1f Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-profile-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-rtlsupport-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-rtlsupport-l1-1-0.dll new file mode 100644 index 000000000..dc5140afd Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-rtlsupport-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-string-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-string-l1-1-0.dll new file mode 100644 index 000000000..dd60dcda6 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-string-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-synch-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-synch-l1-1-0.dll new file mode 100644 index 000000000..43e3a3d7c Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-synch-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-synch-l1-2-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-synch-l1-2-0.dll new file mode 100644 index 000000000..c63cdcc5a Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-synch-l1-2-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-sysinfo-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-sysinfo-l1-1-0.dll new file mode 100644 index 000000000..87d0b0135 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-sysinfo-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-timezone-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-timezone-l1-1-0.dll new file mode 100644 index 000000000..4e8cefab8 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-timezone-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-core-util-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-core-util-l1-1-0.dll new file mode 100644 index 000000000..53c205550 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-core-util-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-crt-conio-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-crt-conio-l1-1-0.dll new file mode 100644 index 000000000..93a5281f0 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-crt-conio-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-crt-convert-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-crt-convert-l1-1-0.dll new file mode 100644 index 000000000..c76a906d8 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-crt-convert-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-crt-environment-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-crt-environment-l1-1-0.dll new file mode 100644 index 000000000..6fbcde862 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-crt-environment-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-crt-filesystem-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-crt-filesystem-l1-1-0.dll new file mode 100644 index 000000000..50e9a3061 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-crt-filesystem-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-crt-heap-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-crt-heap-l1-1-0.dll new file mode 100644 index 000000000..38611e679 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-crt-heap-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-crt-locale-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-crt-locale-l1-1-0.dll new file mode 100644 index 000000000..0d04d9e55 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-crt-locale-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-crt-math-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-crt-math-l1-1-0.dll new file mode 100644 index 000000000..6b409b8f2 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-crt-math-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-crt-multibyte-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-crt-multibyte-l1-1-0.dll new file mode 100644 index 000000000..e824d6020 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-crt-multibyte-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-crt-private-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-crt-private-l1-1-0.dll new file mode 100644 index 000000000..120c0e3f0 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-crt-private-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-crt-process-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-crt-process-l1-1-0.dll new file mode 100644 index 000000000..65b387672 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-crt-process-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-crt-runtime-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-crt-runtime-l1-1-0.dll new file mode 100644 index 000000000..60d0b3143 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-crt-runtime-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-crt-stdio-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-crt-stdio-l1-1-0.dll new file mode 100644 index 000000000..359aa949a Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-crt-stdio-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-crt-string-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-crt-string-l1-1-0.dll new file mode 100644 index 000000000..10a093523 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-crt-string-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-crt-time-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-crt-time-l1-1-0.dll new file mode 100644 index 000000000..838287cbe Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-crt-time-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/api-ms-win-crt-utility-l1-1-0.dll b/CI/wininstaller/ucrt/x86/api-ms-win-crt-utility-l1-1-0.dll new file mode 100644 index 000000000..fbaef9835 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/api-ms-win-crt-utility-l1-1-0.dll differ diff --git a/CI/wininstaller/ucrt/x86/ucrtbase.dll b/CI/wininstaller/ucrt/x86/ucrtbase.dll new file mode 100644 index 000000000..c4ee636b5 Binary files /dev/null and b/CI/wininstaller/ucrt/x86/ucrtbase.dll differ