summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2018-04-11 21:30:20 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2018-04-12 10:45:14 +0200
commit8faa1bc61fa8f09365d483364aea2b1c2751b587 (patch)
treec61bce5ec8f9652ac73a8750b5797aeb9d1927bf /solenv
parentcac80ccacf917e7e80f75c3574cc2a300f1d775a (diff)
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 <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'solenv')
-rw-r--r--solenv/bin/modules/installer/windows/msiglobal.pm29
1 files changed, 29 insertions, 0 deletions
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);
+ }
+ }
}
}