[Libreoffice-bugs] [Bug 135579] Deinstall of LO 7.0.0.3 on Win7Pro also deletes "VCRUNTIME140.dll"

bugzilla-daemon at bugs.documentfoundation.org bugzilla-daemon at bugs.documentfoundation.org
Mon Aug 10 07:53:10 UTC 2020


https://bugs.documentfoundation.org/show_bug.cgi?id=135579

--- Comment #6 from Mike Kaganski <mikekaganski at hotmail.com> ---
(In reply to V Stuart Foote from comment #1)
> I think there are RefCount controls that allow this if LibreOffice package
> install was the source of the VC++ runtime. And that is it is correct MSI
> behavior.  .

You must be right (but not about generic "A subsequent install of LibreOffice
should install it again-if needed"; it's only true for LO 7.0 or newer).
LibreOffice uses MSMs to bundle VCRT. And looks like MS has changed the RT
between VS 2017 and VS 2019. Previously it didn't include a file
VCRUNTIME140_1.dll for 64-bit VCRT (and that must be the actual file that is
missing, not VCRUNTIME140.dll, right?).

So likely what happens is this (one possible scenario):

VCRT from 2017 is pre-installed on system, having an old VCRUNTIME140.dll, and
no VCRUNTIME140_1.dll, in System32; ref count of VCRUNTIME140.dll is non-0.

VCRT from 2019 is installed by LO 7.0. This overwrites VCRUNTIME140.dll with a
newer version (that *has dependency on VCRUNTIME140_1.dll*), increases ref
count of VCRUNTIME140.dll to > 1, and copies VCRUNTIME140_1.dll to System32
with ref count 1.

LO 7.0 is deinstalled. This decreases ref counts of both VCRUNTIME140.dll and
VCRUNTIME140_1.dll; the latter gets ref count of 0, and gets removed, while the
former is still non-0, and is kept (not downgraded!). This breaks the state of
VCRT on system, since not all DLLs of the partially installed runtime are on
the system (VCRUNTIME140.dll of VS2019 is present, it needs VCRUNTIME140_1.dll,
bit the latter is absent).

LO 6.4 is installed. It depends on VCRT 2017; it sees that VCRUNTIME140.dll of
a newer version is already on system; it doesn't replace it (naturally), and so
the broken VCRT is kept on system.

===

Likely we need to make our installation to make the redist non-uninstallable.
That would prevent the step when uninstallation of LO 7.0 broke it.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice-bugs/attachments/20200810/82ba1400/attachment-0001.htm>


More information about the Libreoffice-bugs mailing list