From 8faa1bc61fa8f09365d483364aea2b1c2751b587 Mon Sep 17 00:00:00 2001 From: Mike Kaganski Date: Wed, 11 Apr 2018 21:30:20 +0300 Subject: tdf#108580 related: check for Windows 8.1 April 2014 update rollup ... since it's the required prerequisite for Universal CRT. This moves Windows version check to LaunchCondition table; and adds a check for kernel32.dll version associated with the said update level. Change-Id: I1de84dc47c9392fcb7122e1a877db2e99eae2415 Reviewed-on: https://gerrit.libreoffice.org/52743 Tested-by: Jenkins Reviewed-by: Mike Kaganski --- solenv/bin/modules/installer/windows/msiglobal.pm | 29 +++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'solenv') diff --git a/solenv/bin/modules/installer/windows/msiglobal.pm b/solenv/bin/modules/installer/windows/msiglobal.pm index 46b131fa7724..f830c6eb0598 100644 --- a/solenv/bin/modules/installer/windows/msiglobal.pm +++ b/solenv/bin/modules/installer/windows/msiglobal.pm @@ -1009,6 +1009,7 @@ sub set_uuid_into_component_table # Adding final 64 properties into msi database, if required. # RegLocator : +16 in type column to search in 64 bit registry. # All conditions: "VersionNT" -> "VersionNT64" (several tables). +# DrLocator: "SystemFolder" -> "System64Folder" # Already done: "+256" in Attributes column of table "Component". # Still following: Setting "x64" instead of "Intel" in Summary # Information Stream of msi database in "get_template_for_sis". @@ -1099,6 +1100,34 @@ sub prepare_64bit_database } } } + + # 3. Replacing all occurrences of "SystemFolder" by "System64Folder" in "DrLocato.idt" + + my $drlocatofilename = $basedir . $installer::globals::separator . "DrLocato.idt"; + if ( -f $drlocatofilename ) + { + my $saving_required = 0; + my $drlocatofile = installer::files::read_file($drlocatofilename); + + for ( my $i = 3; $i <= $#{$drlocatofile}; $i++ ) # ignoring the first three lines + { + my $oneline = ${$drlocatofile}[$i]; + + if ( $oneline =~ /\bSystemFolder\b/ ) + { + ${$drlocatofile}[$i] =~ s/\bSystemFolder\b/System64Folder/g; + $saving_required = 1; + } + } + + if ( $saving_required ) + { + # Saving the files + installer::files::save_file($drlocatofilename ,$drlocatofile); + $infoline = "Making idt file 64 bit conform: $drlocatofilename\n"; + push(@installer::globals::logfileinfo, $infoline); + } + } } } -- cgit