summaryrefslogtreecommitdiff
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
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>
-rw-r--r--instsetoo_native/inc_ooohelppack/windows/msi_templates/Control.idt2
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_languages/CustomAc.ulf3
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_languages/LaunchCo.ulf4
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt1
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_templates/Control.idt2
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_templates/CustomAc.idt1
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_templates/DrLocato.idt4
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_templates/InstallE.idt1
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_templates/InstallU.idt1
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_templates/LaunchCo.idt2
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_templates/Signatur.idt4
-rw-r--r--instsetoo_native/inc_sdkoo/windows/msi_templates/Control.idt2
-rw-r--r--solenv/bin/modules/installer/windows/msiglobal.pm29
13 files changed, 47 insertions, 9 deletions
diff --git a/instsetoo_native/inc_ooohelppack/windows/msi_templates/Control.idt b/instsetoo_native/inc_ooohelppack/windows/msi_templates/Control.idt
index 55f1fcfe6b20..24c02f85f7b8 100644
--- a/instsetoo_native/inc_ooohelppack/windows/msi_templates/Control.idt
+++ b/instsetoo_native/inc_ooohelppack/windows/msi_templates/Control.idt
@@ -249,7 +249,7 @@ SetupError I PushButton 192 80 66 17 3 OOO_CONTROL_207
SetupError N PushButton 192 80 66 17 3 OOO_CONTROL_208
SetupError O PushButton 192 80 66 17 3 OOO_CONTROL_209
SetupError R PushButton 192 80 66 17 3 OOO_CONTROL_210
-SetupError WarningIcon Icon 15 15 24 24 5242881 CautionIco
+SetupError ErrorIcon Icon 15 15 24 24 5242881 CautionIco
SetupError Y PushButton 192 80 66 17 3 OOO_CONTROL_211
SetupInitialization ActionData Text 135 125 228 12 65539
SetupInitialization ActionText Text 135 109 220 36 65539
diff --git a/instsetoo_native/inc_openoffice/windows/msi_languages/CustomAc.ulf b/instsetoo_native/inc_openoffice/windows/msi_languages/CustomAc.ulf
index 742cb8cbfb84..1038d6ca5679 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_languages/CustomAc.ulf
+++ b/instsetoo_native/inc_openoffice/windows/msi_languages/CustomAc.ulf
@@ -21,6 +21,3 @@ en-US = "A newer version of [ProductName] was found. To install an older versio
[OOO_CUSTOMACTION_2]
en-US = "The same version of this product is already installed."
-
-[OOO_CUSTOMACTION_5]
-en-US = "[ProductName] cannot be installed on this Windows version. [WindowsMinVersionText] or newer is required."
diff --git a/instsetoo_native/inc_openoffice/windows/msi_languages/LaunchCo.ulf b/instsetoo_native/inc_openoffice/windows/msi_languages/LaunchCo.ulf
index e3f6f7fa8f53..5e57eb1c3c0e 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_languages/LaunchCo.ulf
+++ b/instsetoo_native/inc_openoffice/windows/msi_languages/LaunchCo.ulf
@@ -1,2 +1,6 @@
[OOO_LAUNCH_1]
en-US = "The Installation Wizard cannot be run properly because you are logged in as a user without sufficient administrator rights for this system."
+[OOO_LAUNCH_2]
+en-US = "[ProductName] cannot be installed on this Windows version. [WindowsMinVersionText] or newer is required."
+[OOO_LAUNCH_3]
+en-US = "To install [ProductName] on Windows 8.1, at least April 2014 update rollup (MS KB 2919355) must be installed."
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt
index 095cf907bf46..60793dd69ded 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt
@@ -7,3 +7,4 @@ INSTALLLOCATION installmachine
INSTALLLOCATION installmachine_
VCREDISTINSTALLED_X86 VCREDISTINSTALLED_X86
VCREDISTINSTALLED_X64 VCREDISTINSTALLED_X64
+WIN81S14 win81s14
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/Control.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/Control.idt
index f90d76f5717b..9871b7d3b8cd 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/Control.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/Control.idt
@@ -253,7 +253,7 @@ SetupError I PushButton 192 80 66 17 3 OOO_CONTROL_207
SetupError N PushButton 192 80 66 17 3 OOO_CONTROL_208
SetupError O PushButton 192 80 66 17 3 OOO_CONTROL_209
SetupError R PushButton 192 80 66 17 3 OOO_CONTROL_210
-SetupError WarningIcon Icon 15 15 24 24 5242881 CautionIco
+SetupError ErrorIcon Icon 15 15 24 24 5242881 CautionIco
SetupError Y PushButton 192 80 66 17 3 OOO_CONTROL_211
SetupInitialization ActionData Text 135 125 228 12 65539
SetupInitialization ActionText Text 135 109 220 36 65539
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/CustomAc.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/CustomAc.idt
index 8aa06a155b46..d010a0bd2279 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/CustomAc.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/CustomAc.idt
@@ -7,7 +7,6 @@ setUserProfile 51 USERPROFILE [%USERPROFILE]
SetARPInstallLocation 51 ARPINSTALLLOCATION [INSTALLLOCATION]
NewProductFound 19 OOO_CUSTOMACTION_1
SameProductFound 19 OOO_CUSTOMACTION_2
-WrongWindowsVersion 19 OOO_CUSTOMACTION_5
SetLanguageSelected 51 LANG_SELECTED 1
ResetLanguageSelected 51 LANG_SELECTED 0
SetApplicationSelected 51 APP_SELECTED 1
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/DrLocato.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/DrLocato.idt
new file mode 100644
index 000000000000..589ab7c52806
--- /dev/null
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/DrLocato.idt
@@ -0,0 +1,4 @@
+Signature_ Parent Path Depth
+s72 S72 S255 I2
+DrLocator Signature_ Parent Path
+win81s14 [SystemFolder]
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/InstallE.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/InstallE.idt
index 722bb463629d..336d322052e7 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/InstallE.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/InstallE.idt
@@ -69,4 +69,3 @@ ValidateProductID 300
WriteEnvironmentStrings 2500
WriteIniValues 2450
WriteRegistryValues 2400
-WrongWindowsVersion (VersionNT < WindowsMinVersionNumber) OR ((VersionNT = WindowsMinVersionNumber) AND (ServicePackLevel < WindowsMinSPNumber)) 10
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/InstallU.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/InstallU.idt
index 3bb2a5191d20..642eac064bee 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/InstallU.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/InstallU.idt
@@ -28,4 +28,3 @@ SetupProgress 800
SetupResume Installed And (RESUME Or Preselected) And Not PATCH 700
setUserProfile 510
ValidateProductID 350
-WrongWindowsVersion (VersionNT < WindowsMinVersionNumber) OR ((VersionNT = WindowsMinVersionNumber) AND (ServicePackLevel < WindowsMinSPNumber)) 10
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/LaunchCo.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/LaunchCo.idt
index e4d3f330b006..2d72ac2d05c4 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/LaunchCo.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/LaunchCo.idt
@@ -2,3 +2,5 @@ Condition Description
s255 l255
65001 LaunchCondition Condition
Privileged OOO_LAUNCH_1
+VersionNT > WindowsMinVersionNumber Or (VersionNT = WindowsMinVersionNumber And ServicePackLevel >= WindowsMinSPNumber) OOO_LAUNCH_2
+VersionNT <> 603 Or WIN81S14 OOO_LAUNCH_3
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/Signatur.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/Signatur.idt
index 5004a55863ba..d5abd9769125 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/Signatur.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/Signatur.idt
@@ -1,3 +1,7 @@
Signature FileName MinVersion MaxVersion MinSize MaxSize MinDate MaxDate Languages
s72 s255 S20 S20 I4 I4 I4 I4 S255
Signature Signature
+# Since it's impossible to match minimal version in Signature table independent of
+# language, and we need language-independent comparison, we use a value that is at
+# least 1 less (see note at https://msdn.microsoft.com/en-us/library/aa371853).
+win81s14 kernel32.dll 6.3.9600.17030
diff --git a/instsetoo_native/inc_sdkoo/windows/msi_templates/Control.idt b/instsetoo_native/inc_sdkoo/windows/msi_templates/Control.idt
index 9bc37a8ed840..d9ac9d1a550a 100644
--- a/instsetoo_native/inc_sdkoo/windows/msi_templates/Control.idt
+++ b/instsetoo_native/inc_sdkoo/windows/msi_templates/Control.idt
@@ -236,7 +236,7 @@ SetupError I PushButton 192 80 66 17 3 OOO_CONTROL_207
SetupError N PushButton 192 80 66 17 3 OOO_CONTROL_208
SetupError O PushButton 192 80 66 17 3 OOO_CONTROL_209
SetupError R PushButton 192 80 66 17 3 OOO_CONTROL_210
-SetupError WarningIcon Icon 15 15 24 24 5242881 CautionIco
+SetupError ErrorIcon Icon 15 15 24 24 5242881 CautionIco
SetupError Y PushButton 192 80 66 17 3 OOO_CONTROL_211
SetupInitialization ActionData Text 135 125 228 12 65539
SetupInitialization ActionText Text 135 109 220 36 65539
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);
+ }
+ }
}
}