Hi,
On Windows Vista and later, the VC 9.0 runtime files are installed to the
WinSxS cache as global assemblies. In Windows Installer, it is not possible to
use global assemblies until the installation transaction has been commited.
This means that only commit custom actions or custom actions sequenced to run
after InstallFinalize will be able to use global assemblies that are being
installed as part of the same MSI.
Possible workarounds:
1) Run RegisterExtensions custom action after InstallFinalize
2) Link VC runtime statically to unopkg.exe and unopkg.bin
3) Install private copy of msvcr90.dll next to unopkg.exe.
I chose option 1.
http://cgit.freedesktop.org/libreoffice/core/commit/?id=b3d63df541ff6b2bf9c77699c8c076ebcde2d6cf
The patch works well on Jesus' Windows 2008 Server VM, that he sent me
on Friday. I could not reproduce the bug with my VMs, because the bug
does not occur on Windows XP, and VMWare installs VC 9.0 runtime with
its VMWare Tools. When I realized this, I wanted to manually remove VC
9.0 runtime files form WinSxS, but then came Jesus' VM, I reproduced
the bug, and found the fix. Thanks, Jesus.
Best regards,
Andras
Context
- [REVIEW-3-5] fdo#44628 unopkg.exe does not find VC runtime during install · Andras Timar
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.