Age | Commit message (Collapse) | Author |
|
which would have saved me some time when debugging a
recent macOS issue.
Change-Id: I370826501db14fc563b553428f480f50bde48f9e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89056
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
See instructions in solenv/gbuild/Trace.mk . This generates a file than
can be viewed e.g. in the Chromium tracing view.
Change-Id: I5f90647c58ca729375525b6daed2d4918adc8188
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88754
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
jurt.jar and unoil.jar are kept as effectively empty jars, each with a
Class-Path: ridl.jar
in their meta-inf/manifest.mf, so that 3rd-party code loading them (with or
without also loading ridl.jar) will still have access to their content.
Conceptually, the UNOIDL entities in unoil.jar (corresponding to module offapi)
are not part of the URE, but are now made available by URE's ridl.jar. This
should probably not cause problems in practice.
At least for now, we seal exactly those packages in ridl.jar that were
originally sealed in jurt.jar. Ideally, all of ridl.jar could be sealed now,
but that would be mildly incompatible, as it would prevent 3rd-party code from
introducing additional UNOIDL entities in the relevant namespaces (even if that
is something we do not want 3rd-party code to do anyway).
However, some JunitTest_jurt_* define classes in those sealed packages. In the
past they got away with that by using gb_JunitTest_use_jar_classset,*,jurt.
Instead they now need to gb_JunitTest_use_jar_classset,*,ridl and drop the
gb_JunitTest_use_jar,*,ridl. But the former only makes available the classes
that are specified in ridljar/Jar_ridl.mk with gb_Jar_add_sourcefiles, not the
UNOIDL entities specified via gb_Jar_add_packagedirs. But the tests need the
udkapi UNOIDL entities, so introduce gb_JunitTest_add_classpath to let the tests
get them explicitly. (Curiously, JunitTest_jurt_uno and JnitTest_jurt_util use
gb_JunitTest_use_jar_classset,*,jurt but don't seem to acutally need it; lets
leave that for a follow-up clean up.)
As a follow-up clean up, relevant files could be moved from jurt/ to ridljar/.
Change-Id: I836f4e7bb47fb41f1306e3f223da90dba988eb9a
Co-authored-by: Stephan Bergmann <sbergman@redhat.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/84946
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
It used to be set both in AppSearch action (using RegLocator table),
and in MigrateInstallPath custom action. This would overwrite value
of INSTALLLOCATION taken from user, and read on the previous step,
with values taken on the next step.
Only migrating the install location in one single place - in custom
action MigrateInstallPath - makes the process controllable. Also it
allows to easily see all the various places in registry we read.
Change-Id: Ib7e04c26e71ba92c6a62a0511971bfb3bdb7db72
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87867
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Fix the string’s grammar while at it.
Follow-up for commit 128dabf58a535d422eb27f8dc760c81e54c6b354.
Mentioned on review but never addressed.
Change-Id: Id05d8686aca6d719eab4ad47fa0502353d3d074b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87034
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
that it must be installed into the same directory as LibreOffice
and some visual fix in layout
Change-Id: I8048c332bf381137689bfa1695862cf7d118f0a8
Reviewed-on: https://gerrit.libreoffice.org/84582
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
|
|
We don't install low-level system components that have potential of
ruining the system, which would be the reason to create the restore
points. Some systems suffer from very long creation of the restore
points, like in tdf#129087:
...
MSI (s) (60:00) [09:18:54:201]: Calling SRSetRestorePoint API. dwRestorePtType: 1, dwEventType: 102, llSequenceNumber: 0, szDescription: "Removed LibreOffice 6.3 Help Pack (English (United Kingdom))".
MSI (s) (60:00) [09:26:57:699]: The call to SRSetRestorePoint API succeeded. Returned status: 0, llSequenceNumber: 73.
...
So let's just disable the generation of restore points, as per [1].
[1] https://docs.microsoft.com/en-us/windows/win32/msi/msifastinstall
Change-Id: I452859d72284e0b2ea9a407e30a5e256a8c0a0f6
Reviewed-on: https://gerrit.libreoffice.org/84113
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
when the switch --disable-crashdump is set, then the
switch "CrashDumpEnable" set to "false", was only in
instdir/program/soffice.ini, but was not
in soffice.ini in msi it was always true
Change-Id: I2668c1425a776fdf5f0c4e4511c2216e8f418a5b
Reviewed-on: https://gerrit.libreoffice.org/83171
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
Reported here: https://twitter.com/erez/status/1193838467668697089
Change-Id: I96fdb82646e6b2e49b6032766195309a97da0fba
Reviewed-on: https://gerrit.libreoffice.org/82439
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
- in soffice.ini (sofficerc) the entry "CrashDumpEnable" default is "true"
- when false then the Dump.ini and the dump-file are not written
- when the switch --disable-crashdump is set, then the
switch "CrashDumpEnable" set to "false"
- when the entry "CrashDumpEnable" is missing, in this case is the
default true, too
- the checkbox under Options-General "Send crash reports to ..."
is deactive and shows off (only view, not change the config)
- when set the environment variable "CRASH_DUMP_ENABLE" to any char
then the switch "CrashDumpEnable=false" are overrules with true
and the Dump.ini and dump-file are write
Change-Id: I34e7795640eb95d111e18b0ad46ec67b2c126b19
Reviewed-on: https://gerrit.libreoffice.org/79273
Tested-by: Jenkins
Reviewed-by: Juergen Funk (CIB) <juergen.funk_ml@cib.de>
|
|
Change-Id: I7c508ce7536d1c0d922be5069c059a7302d740b1
Reviewed-on: https://gerrit.libreoffice.org/77756
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
it's one of those variables that are set to FALSE and not left empty...
Change-Id: Ic26888e4e983db625b5943a2c094eacc84fe1331
|
|
as with private key on crypto-smartcard you'd have to enter your pin
over a hundred times while creating full-lang builds and that is not
fun.
This reduces it to
* once for dll/exe
(at least in case for mergelib is is less than 350 objects and
that doesn't break commandline limits - previously it was set to
only sign 20 objects at a time, forcing a pin-entry over 15 times) and
* once for main installation set
* once for SDK
* once for all the helppacks
(signing description previously also contained the language, this
change drops that to just "<productname> <version> Helppack"
and last three are not scattered timewise, but are done after all
packaging is complete, so the build only waits twice for user-input.
Change-Id: Ibb8bb233e967556f9654573ad30d0ed5883b533f
Reviewed-on: https://gerrit.libreoffice.org/78649
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
|
Change-Id: I0df5dc4cebb065c509df77b00f16597a28566345
Reviewed-on: https://gerrit.libreoffice.org/78355
Tested-by: Jenkins
Reviewed-by: Roman Kuznetsov <antilibreoffice@gmail.com>
|
|
Change-Id: Ia51fa09db3db0c00432fc02ef9fe445444aa463b
Reviewed-on: https://gerrit.libreoffice.org/77321
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Icdc486d64283961dad4a1d29ae662d66143f674b
Reviewed-on: https://gerrit.libreoffice.org/77320
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Iabb1c04d27bba1a7b3b89be03d0af1ed15951ffc
Reviewed-on: https://gerrit.libreoffice.org/77003
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Ie869a02d1df0dc84ca59f3358f839d7e2925e17d
Reviewed-on: https://gerrit.libreoffice.org/74789
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
|
|
Change-Id: I6f607e44b92ae9958b6013f9292743a1c7b76d34
Reviewed-on: https://gerrit.libreoffice.org/74185
Tested-by: Jenkins
Reviewed-by: Roman Kuznetsov <antilibreoffice@gmail.com>
|
|
Change-Id: I414959f0f278792c5cac0c58746faa6b7773e494
Reviewed-on: https://gerrit.libreoffice.org/65593
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
On Windows 8.1, the one that is problematic to tell from Windows 10
(because the latter also exposes its version as 603 to the msiexec),
the registry value doesn't exist at
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion
but let's play safe and also check for "#6" value just in case.
Reference:
https://stackoverflow.com/questions/31072543/reliable-way-to-get-windows-version-from-registry
Thanks to Mitchell <blazer64@gmail.com> for the idea!
Change-Id: Ic907c4d992a7cb1d12e392686c19cd6fd6da3c7c
Reviewed-on: https://gerrit.libreoffice.org/65231
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
This replaces commit 53058090beede6a399e2f408f62c28a2921ff8ab. Now
not only failure to start WU service, but also other errors during
MSU installation won't break installation. E.g., running WU service
as Guest does not prevent the service from starting; but installing
updates fail, which makes previous solution incomplete.
Instead, show a warning in those rare cases when an error happens,
and continue. It will allow users to see the reason if they see
"api-ms-win-*.dll missing" message later after installation. Of
course, some small percentage of these warnings will be false, e.g.
those on Windows 10. But those false messages must be really small
minority, because only when (1) the installation fails (2) on a
system with the component already present, such a message would be
false. And it will not prevent the installation.
This will not block unattended installations, since in those cases,
MsiProcessMessage() will do nothing.
Change-Id: I3a9e681e9d6701d092bd5c18bb4b68b4f77170f3
Reviewed-on: https://gerrit.libreoffice.org/64874
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Iac627b2884d1cc77cf63ec3bd814f5601080e26f
Reviewed-on: https://gerrit.libreoffice.org/63079
Tested-by: Jenkins
Reviewed-by: Sophia Schröder <sophia.schroeder@libreoffice.org>
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
|
|
Splash screen text should be black now
Change-Id: I963ffc89c48fdc1de148586cd6f0fb4bf35d44bd
Reviewed-on: https://gerrit.libreoffice.org/61924
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <tietze.heiko@gmail.com>
|
|
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>
|
|
Change-Id: Ifd83affcb16209f4134c725640fbd95077c8ab0f
Reviewed-on: https://gerrit.libreoffice.org/59099
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
* Don't lowercase the name.
Change-Id: I8addd735bf8ee48256ec53f01063e96e7a4b41cd
Reviewed-on: https://gerrit.libreoffice.org/58632
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Microsoft has never referred to desktop shortcuts as “start links”.
This change aligns our installer with almost every other installer
out there.
Change-Id: Ib5779e6cd44e719e52d1afeb6a44c7dc8f3624dc
|
|
See also http://helpnet.flexerasoftware.com/installshield19helplib/helplibrary/ISBP10.htm
Change-Id: I217d68f98af8e56874af6c071bb7fa7354b3e4b4
Reviewed-on: https://gerrit.libreoffice.org/58326
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Using the make-file function, in this case no converting
this problem was introduced by switching to native Win32 make:
* Makefiles don't have any metadata to specify the encoding
* all of the Cygwin tools in the build system assume
everything is UTF-8 encoded
* Win32 make calls CreateProcessA(), which converts the
arguments from some so-called "ANSI" codepage to UCS-2
hence in commands invoked from make, the UTF-8 string is
erroneously interpreted as latin1 and converted to UCS-2.
Change-Id: Ibf3e573b07e7e2d9119e0ff7b4972d8065d84bea
Reviewed-on: https://gerrit.libreoffice.org/56272
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Tested-by: Michael Stahl <Michael.Stahl@cib.de>
|
|
Originally added with 78e8d5f0d62f910b8561a1c4fd7ebd8ae4cfb9f8 "Added option to
hide external link buttons on Start Center".
The use of BackingWindow::mnHideExternalLinks was remove with
74144e53a88d17305469f6b315a01f16fede8878 "startcenter: Tweak Start Center
layout", and then the member and its initialization from the
StartCenterHideExternalLinks configuration property was removed with
d7824bf16898d8cb776420e0c2bff82e6df61b86 "loplugin:unusedfields in sfx2 part2".
(The opportunity to already remove STARTCENTER_HIDE_EXTERNAL_LINKS from
instsetoo_native/util/openoffice.lst.in had been missed in
89ac3c4acae1f0ffe3e96933d3449749ddf86847 "replace variables in main.xcd already
in gbuild".)
Change-Id: I35bbd94db88939d7724616fa22a74e18552a4ad8
Reviewed-on: https://gerrit.libreoffice.org/55379
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Its use has been removed with e161e35f55d0ff73d735fa4dbd578c072c1c3d38
"installer: Remove packager.pl" (and changes to the file itself also stopped in
2013).
Change-Id: I3bf18849a80abd5b774f1a6030c514e5891e0350
Reviewed-on: https://gerrit.libreoffice.org/54769
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I993b420f4eeeb1c0d499d8200c970b86e9641fb4
Reviewed-on: https://gerrit.libreoffice.org/53887
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: andreas_kainz <kainz.a@gmail.com>
|
|
Change-Id: Ifc65202ddd82f7fbd80de1a36c21eb0edc126bc7
Reviewed-on: https://gerrit.libreoffice.org/53886
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: andreas_kainz <kainz.a@gmail.com>
|
|
Change-Id: If2a122965e0f2b244fbbd115e8d38b9b70058a5b
Reviewed-on: https://gerrit.libreoffice.org/53770
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: andreas_kainz <kainz.a@gmail.com>
|
|
...by extending the hackery in helpcontent2/CustomTarget_html.mk (see comment
there). (Ultimately, the gbuild HelpTarget machinery should probably be adapted
to the needs of this new help format, once the old help format is no longer
supported?)
The Perl packaging code finds source files through the "include" paths specified
in instsetoo_native/util/openoffice.lst.in. To avoid potential name clashes,
put the new .filelist files into
workdir/CustomTarget/helpcontent2/help3xsl/filelists/html-help/ sub-directories.
read_filelist in solenv/bin/modules/installer/filelists.pm does not strip white
space following the last item in a file list, but (with HAVE_GNUMAKE_FILE_FUNC)
the gb_HelpTarget_get_translation_target .filelist files (which are then
transformed with sed into the .html .filelist files read by the Perl packaging
code) may contain such trailing white space. So $(strip ...) their content in
solenv/gbuild/HelpTarget.mk.
This is the core part of a change spanning core and helpcontent2.
Change-Id: I82e0093ea2064725327330c5485f8e581573e1f2
|
|
Using nested install is bad because (1) MS advises against it (though it
most possibly doesn't relate to our specific case, when we install the
vc redist exe package in UI part, so actually only a single MSI session
is active at any time); (2) because it adds some extra interactions
(user sees something "unrelated" being installed, which raises concerns;
additional admin authentication required); and (3) because it runs in
InstallUISequence, thus only installing the UCRT when doing interactive
installation (unattended installs, including GPO, need to install UCRT
separately).
This patch aims to incorporate the original UCRT MSU (Windows Update)
packages (https://support.microsoft.com/en-us/help/2999226) available as
a zip archive from
https://www.microsoft.com/en-us/download/details.aspx?id=48234
- the same as used in VC redists for VS 2015 and 2017. This obsoletes
the separate installation of the redist; since we also have the redist
as merge module in our MSI, that is enough (and removes redundancy).
The MSUs are installed using wusa.exe in a custom action (deferred,
non-impersonating).
As a small bonus, embedding MSUs instead of redist EXE allows us to
shrink the size of installer a little (~10 MB).
As deferred custom actions cannot access current installer database,
we workaround this by using initial immediate impersonating action to
extract the binaries into a temporary location. To ensure that the file
gets removed upon completion (both successful and failed), we use an
additional cleanup action.
Commit 61b1d631331551b43bc7d619be33bfbfeff7cad6 is effectively reverted.
Change-Id: I1529356fdcc67ff24b232c01ddf8bb3a31bb00bd
Reviewed-on: https://gerrit.libreoffice.org/52923
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
This reverts commits 914f6385d98f8c898102c971a4d5b0eb9f075ef0 and
a6045159237419ce8fa49202c672e3895f0ab30a. A investigation required why
is the problem with them; meanwhile, they break builds.
Change-Id: I713b27dd64e8ac7beb2757c362765b60ce191f8d
Reviewed-on: https://gerrit.libreoffice.org/53078
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
section.
The OOO_ARPURLINFOABOUTTEMPLATE is simply missleading as the caption in
Windows itself is "Supportlink". As the help states that the product
homepage can be used, switch to libreoffice.org, see documentation at
https://msdn.microsoft.com/en-us/library/aa367752
Additionally switch some links to https.
Change-Id: I8d6d871130d2a50a5ce9aa3e80687601e3038c4e
Reviewed-on: https://gerrit.libreoffice.org/52193
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I7e2cc08a1312da629e4644be97ebc7ed40250702
Reviewed-on: https://gerrit.libreoffice.org/52995
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I697458fb3deba508e61e414c43fcfc85aff76f9b
Signed-off-by: Olivier Hallot <olivier.hallot@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/49237
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
Those conditions that rely on AppSearch should only be checked when
not yet installed, since AppSearch is not performed in maintenance modes
Change-Id: Ie2c3fa8e8742a4c335f0cd8be571fa563a178a49
Reviewed-on: https://gerrit.libreoffice.org/52851
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
This uses VC Runtime upgrade code (checked using Upgrade table) to
find installed redist, instead of checking registry keys that change
between versions (while the runtime is still compatible, as with 2015
and 2017).
Also, it checks if UCRT is present. Now, if either VC Runtime or UCRT
is absent, we try to install the redist. This would allow to install
UCRT in scenarios when first install was attempted on a system not
suitable for UCRT (like Win7 w/o SP1, or Win8.1 w/o April 2014 update
rollup), where VC Runtime gets installed, but UCRT is still missing.
We use the ucrtbase.dll version to check that; and as the expected
version is 10.x, we take into account that Win10 lies about versions.
Change-Id: I864dfc09cf1bdc775501729fa2a27dc98295588c
Reviewed-on: https://gerrit.libreoffice.org/52794
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
... 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>
|
|
Currently we support Win7 SP1 and later; so let installer fail on lower SP levels.
Change-Id: I807e0a04870b9eeabbfae258d68da4a1156b0408
Reviewed-on: https://gerrit.libreoffice.org/52619
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Breaks windows installer
This reverts commit 7b129f55b4da9a20581fe805b7dacadcb6386252.
Change-Id: I21a5a6790eac1704da4bda41fb0969dc10b19d1c
Reviewed-on: https://gerrit.libreoffice.org/48369
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
Change-Id: Ia90de861bc3aa02e8b0bf482f602ab1ea29aae00
Reviewed-on: https://gerrit.libreoffice.org/48304
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
... in InstallUISequense.
Use --with-vcredist-dir to point to a directory with vc_redist.x64.exe
and/or vc_redist.x86.exe. Use --without-vcredist-dir (or
--with-vcredist-dir=no) if you don't want to ship it as part of
installer and want to silence the configure warning.
VCRedist 2015 version 14.0.24215.1 is available at
https://www.microsoft.com/en-us/download/details.aspx?id=53840
Since VisualStudio 2015, VC redist merge module that we used before
started to work differently: it installs the UCRT only on WinXP,
but not on later OSes (Vista to 8.1) which may lack the UCRT (Win10
has it out of the box). The merge module only installs VCRuntime on
those systems, which still leaves us with "api-ms-*.dll is missing"
problem.
(https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/
gives more information on VCRedist refactoring background.)
Since commit 71d9a61302e65fe091cf70c13fa72b3df09b7e3a, we use a
workaround described at the page mentioned above as "App-local
deployment of the Universal CRT". We just copy all UCRT DLLs to
LibreOffice/program. This has a drawback though, that our UCRT
is not updated by Windows Update, so users would rely on LibreOffice
updates in case of some vulnerabilities in UCRT (and they could
even not realize they have that problem).
MS recommends to install UCRT using EXEs they provide from their
site. The EXEs install both VCRuntimes and UCRTs, along with
required patches, for all Windows versions (Windows XP through
Windows 10, where they only install VCRuntimes); the installed
libraries are managed by system's update mechanism. But those EXEs
cannot be used in MSI custom actions inside InstallExecuteSequence,
because they use MSI themselves.
So this patch integrates the vc_redist.xXX.exe into MSI binary
table, and uses custom action to run the EXE after ExecuteAction
in InstallUISequence. This will show the user a VCRedist install
window after the main LibreOffice installation finishes; no user
interaction is required (except for one additional UAC request),
and errors are ignored.
Since this installation takes care of both VCRuntime and UCRT,
we can ultimately drop both the app-local workaround, and
vcredist merge module (so VCRuntime would also be updated by
system). The former is done here: this reverts commit
71d9a61302e65fe091cf70c13fa72b3df09b7e3a.
This approach has its drawback: if one wants to use unattended
installation (without UI; one example is deployment using
ActiveDirectory GPO), then InstallUISequence is not run, and so
VCRedist isn't installed. In this case, one should install
VCRedist separately. Supposedly this should not be huge problem,
because this is the case for many existing applications that need
separate VCRedist deployment in these scenarios, and unattended
installation is advanced stuff that requires prepared user. A
notice would be required in release notes and FAQ, though.
Change-Id: Ia6a16be60af8a08f41ea7c3dbd457d8f89006006
Reviewed-on: https://gerrit.libreoffice.org/46356
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
VersionNT is now always greated than 600 (only needs checking in version
checking action). ISSETUPDRIVEN and ISSCHEDULEREBOOT are specific to
InstallShield and aren't relevant to LibreOffice installer.
Change-Id: I6cb769c863e09f1568ae895a6cfbb0e5940c2486
Reviewed-on: https://gerrit.libreoffice.org/46434
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Introduced two new consts
Change-Id: I15e01eabe9fd3225c36d06cbb59310a07a30f2c1
Reviewed-on: https://gerrit.libreoffice.org/45105
Reviewed-by: Heiko Tietze <tietze.heiko@googlemail.com>
Tested-by: Heiko Tietze <tietze.heiko@googlemail.com>
|