Kaydet (Commit) 8faa1bc6 authored tarafından Mike Kaganski's avatar Mike Kaganski

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/52743Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarMike Kaganski <mike.kaganski@collabora.com>
üst cac80cca
......@@ -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
......
......@@ -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."
[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."
......@@ -7,3 +7,4 @@ INSTALLLOCATION installmachine
INSTALLLOCATION installmachine_
VCREDISTINSTALLED_X86 VCREDISTINSTALLED_X86
VCREDISTINSTALLED_X64 VCREDISTINSTALLED_X64
WIN81S14 win81s14
......@@ -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
......
......@@ -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
......
Signature_ Parent Path Depth
s72 S72 S255 I2
DrLocator Signature_ Parent Path
win81s14 [SystemFolder]
......@@ -69,4 +69,3 @@ ValidateProductID 300
WriteEnvironmentStrings 2500
WriteIniValues 2450
WriteRegistryValues 2400
WrongWindowsVersion (VersionNT < WindowsMinVersionNumber) OR ((VersionNT = WindowsMinVersionNumber) AND (ServicePackLevel < WindowsMinSPNumber)) 10
......@@ -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
......@@ -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
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
......@@ -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
......
......@@ -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);
}
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment