Created attachment 144901 [details] LO 6.1.0.3 upgrade to 6.1.1.2 msiexec verbose install log -- zipped On Windows 10 Home 64-bit en-US updating from 6.1.0.3 to 6.1.1.2 Reviewing verbose msiexec log--the EmojiOneColor-SVGinOT.ttf install ({0B0A7988-C980-8003-F086-DA086384E193}) is being disallowed bcz "the same component with higher versioned keyfile exists", but then the install proceeds to: UnregisterSharedComponentProvider for its GUID and then remove the font Executing op: FileRemove(,FileName=EmojiOneColor-SVGinOT.ttf,,ComponentId={0B0A7988-C980-8003-F086-DA086384E193}) RemoveFiles: File: EmojiOneColor-SVGinOT.ttf, Directory: C:\WINDOWS\Fonts\ ends without EmojiOneColor font installed. verbose install log attached...
Checked the installer packages for 6.1.0.3 and 6.1.1.2, as well as current master/6.2.0 packaging. All show the same EmojiOneColor-SVGinOT.ttf ver 1.3.20160725 with the same HASH values: MD5 31a2d6b5c2eb1a2ab23d465e492fd5cf SHA-1 1847308f62889c7b3598d0a9e2a6b19cfb893172 SHA-256 43ac6c3705afbc3cef97dc2501f4e64168ba734816839059116ce9a19e9321a6 Don't beleive I'd installed another build of the font, but issue of course is that the installer logic Disallowed -- but then unregistered, and removed the font?
I believe that the problem is that the font's version is not detected properly when MSI is created - it's written as 1.0.0.0; then when installing a component with a version lower than installed on system, the funny thing happens (this is also related to bug 117492 - we uninstall previous package completely, but not reinstall the "older" version afterwards). https://gerrit.libreoffice.org/60548
Mike Kaganski committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=38aae53a1004bb7393c81a98c7b370344613244e tdf#119897: "Version " prefix is optional It will be available in 6.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
The patch mentioned in comment 3 also affects KacstBook.ttf and KacstOffice.ttf (now they have version 2.1.0.0 in MSI). Please test the fix in a daily. Backport to 6-1 is in https://gerrit.libreoffice.org/60556.
Mike Kaganski committed a patch related to this issue. It has been pushed to "libreoffice-6-1": http://cgit.freedesktop.org/libreoffice/core/commit/?id=4db4befcb7f710cb9ec0dcc9968ee2d0b836a1c2&h=libreoffice-6-1 tdf#119897: "Version " prefix is optional It will be available in 6.1.2. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Nice catch Mike! So needed further refinement of work on bug 116581 [1] for using the perl Font::TTF::Font module to correctly extract font version string, the perl syntax is certainly terse. But makes refcount handling on Windows builds more reliable, If folks don't mind, I'll retest at 6.1.2, as testing master/6.2.0 is kind of disruptive needing a WRITER_REGISTRY=1 flag, or doing a Windows VM install to bang against. =-ref-= https://gerrit.libreoffice.org/#/c/51793/
> If folks don't mind, I'll retest at 6.1.2, as testing master/6.2.0 is kind > of disruptive needing a WRITER_REGISTRY=1 flag, or doing a Windows VM > install to bang against. Hi Stuart, Did you have the change to test it? Should this issue be closed as RESOLVED FIXED ?
(In reply to Xisco Faulí from comment #7) > ... > Did you have the change to test it? > Should this issue be closed as RESOLVED FIXED ? Sorry lost track of this task--but, yes we get the correct behavior now. The snippet from a 6.1.1.2 -> 6.1.3.1 update shows: MSI (s) (9C:84) [09:31:48:567]: Executing op: RegisterSharedComponentProvider(,,File=EmojiOneColor_SVGinOT.ttf,Component={0B0A7988-C980-8003-F086-DA086384E193},ComponentVersion=1.3.0.0,ProductCode={28CD926D-EB22-4B4B-9139-494A3C25C3E2},ProductVersion=6.1.3,PatchSize=0,PatchAttributes=0,PatchSequence=0,SharedComponent=0,IsFullFile=0) MSI (s) (9C:84) [09:31:48:567]: Executing op: FileCopy(SourceName=EMOJIO~1.TTF|EmojiOneColor-SVGinOT.ttf,SourceCabKey=EmojiOneColor_SVGinOT.ttf,DestName=EmojiOneColor-SVGinOT.ttf,Attributes=16384,FileSize=6193636,PerTick=65536,,VerifyMedia=1,,,,,CheckCRC=0,Version=1.3.0.0,,InstallMode=58982400,,,,,,,) MSI (s) (9C:84) [09:31:48:567]: File: C:\WINDOWS\Fonts\EmojiOneColor-SVGinOT.ttf; Won't Overwrite; Won't patch; Existing file is of an equal version So, the font version handling is what we needed.
*** Bug 155055 has been marked as a duplicate of this bug. ***