summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2018-09-20 08:05:41 +0300
committerChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2018-10-09 14:03:41 +0200
commitaa78a46a3063330f3c6b08fb01952790b81734e4 (patch)
tree7579e8003c32586bdb2a6100839224215a15a102
parent60011cefbccd91065dadf66896a688b807e76964 (diff)
tdf#115405, tdf#119910: don't check if UCRT is already installed
There appears to be common situation that a system has *some* UCRT libraries in System32, that were installed improperly (presumably by some applications using simple copy).In these cases, our installer would detect the presence of ucrtbase.dll, and not try to install UCRT on the system. Unfortunately, it seems that oftentimes such improper UCRT installations miss some parts of UCRT, which leads to LibreOffice failing to start with messages like "The program can't start because api-ms-win-crt-string-l1-1-0.dll is missing from your computer. Try reinstalling the program to fix this problem." (the missing component varies). This patch removes the check for UCRT presence. Installer will try to install UCRT on applicable systems unconditionally. Since the proper outcomes in case of already present UCRT are either WU_S_ALREADY_INSTALLED or WU_E_NOT_APPLICABLE and both are treated as success in inst_msu action (see InstallMSU in setup_native/source/win32/customactions/inst_msu/inst_msu.cxx), this should only make this part more robust, and not bring new problems (yes, I know that actually there will be new problems, as usual). Change-Id: I22a3d357014d31a8e492ff8a15bcb477eeb79735 Reviewed-on: https://gerrit.libreoffice.org/60789 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 1882827320ed760de82211cf690b686f8d34ff74) Reviewed-on: https://gerrit.libreoffice.org/61444 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt2
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_templates/DrLocato.idt2
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt2
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_templates/Signatur.idt9
-rw-r--r--scp2/source/ooo/ucrt.scp12
5 files changed, 7 insertions, 20 deletions
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt
index 23c2a77c9f5d..46ceccc26c60 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt
@@ -6,5 +6,3 @@ INSTALLLOCATION installuser_
INSTALLLOCATION installmachine
INSTALLLOCATION installmachine_
WIN81S14 win81s14
-UCRT_DETECTED ucrt_detected
-UCRT_DETECTED ucrt_on_win10
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/DrLocato.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/DrLocato.idt
index 399011e166ca..589ab7c52806 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/DrLocato.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/DrLocato.idt
@@ -2,5 +2,3 @@ Signature_ Parent Path Depth
s72 S72 S255 I2
DrLocator Signature_ Parent Path
win81s14 [SystemFolder]
-ucrt_detected [SystemFolder]
-ucrt_on_win10 [SystemFolder]
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt
index 302c4f281279..1a7074acb7f8 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt
@@ -43,7 +43,7 @@ ProgressType3 installs
Quickstarterlinkname QUICKSTARTERLINKNAMETEMPLATE
RebootYesNo Yes
ReinstallModeText omus
-SecureCustomProperties NEWPRODUCTS;OLDPRODUCTS;WIN81S14;UCRT_DETECTED
+SecureCustomProperties NEWPRODUCTS;OLDPRODUCTS;WIN81S14
SetupType Typical
SELECT_WORD 0
SELECT_EXCEL 0
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/Signatur.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/Signatur.idt
index 53615298dc6d..d5abd9769125 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/Signatur.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/Signatur.idt
@@ -5,12 +5,3 @@ Signature Signature
# 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
-ucrt_detected ucrtbase.dll 10.0.10240.0
-# The great feature of all recent Windows is that they make it incredibly hard to find their
-# actual versions. Win 10 makes the next step in that direction: not only it tells you that
-# its version is 6.3 (VersionNT is 603), but also it disallows you to get real version of a
-# file during installation, if the version is greater than 6.3. So, for ucrt DLLs versioned
-# by MS as 10.0.x.y, it returns 6.3.x.y, pretending to have a lower version than on Win8.1.
-# Here we check for this, knowing that we get a version below 7.0 for UCRT that never had a
-# version below 10.0, then it's Win10+ that is lying to us.
-ucrt_on_win10 ucrtbase.dll 7.0.0.0
diff --git a/scp2/source/ooo/ucrt.scp b/scp2/source/ooo/ucrt.scp
index 4a13309f6364..ae2eb27a4dbe 100644
--- a/scp2/source/ooo/ucrt.scp
+++ b/scp2/source/ooo/ucrt.scp
@@ -91,7 +91,7 @@ WindowsCustomAction gid_Customaction_check_win7x64_ucrt
Source = "InstMSUBinary";
Target = "Windows61-KB2999226-x64msu";
Inbinarytable = 0;
- Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 601 And VersionNT64 And Not UCRT_DETECTED", "FileCost");
+ Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 601 And VersionNT64", "FileCost");
Styles = "NO_FILE";
End
@@ -101,7 +101,7 @@ WindowsCustomAction gid_Customaction_check_win8x64_ucrt
Source = "InstMSUBinary";
Target = "Windows8-RT-KB2999226-x64msu";
Inbinarytable = 0;
- Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 602 And VersionNT64 And Not UCRT_DETECTED", "check_win7x64_ucrt");
+ Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 602 And VersionNT64", "check_win7x64_ucrt");
Styles = "NO_FILE";
End
@@ -111,7 +111,7 @@ WindowsCustomAction gid_Customaction_check_win81x64_ucrt
Source = "InstMSUBinary";
Target = "Windows81-KB2999226-x64msu";
Inbinarytable = 0;
- Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 603 And VersionNT64 And Not UCRT_DETECTED", "check_win8x64_ucrt");
+ Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 603 And VersionNT64", "check_win8x64_ucrt");
Styles = "NO_FILE";
End
@@ -127,7 +127,7 @@ WindowsCustomAction gid_Customaction_check_win7x32_ucrt
Source = "InstMSUBinary";
Target = "Windows61-KB2999226-x86msu";
Inbinarytable = 0;
- Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 601 And Not VersionNT64 And Not UCRT_DETECTED", "check_win81x64_ucrt");
+ Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 601 And Not VersionNT64", "check_win81x64_ucrt");
Styles = "NO_FILE";
End
@@ -137,7 +137,7 @@ WindowsCustomAction gid_Customaction_check_win8x32_ucrt
Source = "InstMSUBinary";
Target = "Windows8-RT-KB2999226-x86msu";
Inbinarytable = 0;
- Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 602 And Not VersionNT64 And Not UCRT_DETECTED", "check_win7x32_ucrt");
+ Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 602 And Not VersionNT64", "check_win7x32_ucrt");
Styles = "NO_FILE";
End
@@ -147,7 +147,7 @@ WindowsCustomAction gid_Customaction_check_win81x32_ucrt
Source = "InstMSUBinary";
Target = "Windows81-KB2999226-x86msu";
Inbinarytable = 0;
- Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 603 And Not VersionNT64 And Not UCRT_DETECTED", "check_win8x32_ucrt");
+ Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 603 And Not VersionNT64", "check_win8x32_ucrt");
Styles = "NO_FILE";
End