You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
...and add a new, more robust mechanism for in-place ExifTool upgrades.
PhotoDemon uses the wonderful ExifTool library to retrieve and embed metadata in a number of different image formats. ExifTool is written in Perl and when it is run (on Windows), it extracts a portable Perl runtime and a local copy of Exiftool itself (as a collection of Perl files.) The total extraction list is well over 1,000 files extracted, and PhotoDemon has ExifTool place these files in the /Data/PluginData folder.
Normally, I have been able to just drop-in a new copy of ExifTool without trouble, but when trying to upgrade from v12.44, ExifTool would throw random errors related to individual Perl (.pl) files in various subfolders of /Data/PluginData. This appears to be tied to internal library changes over the past year.
To prevent this from causing issues for PD users, I now check for in-place ExifTool upgrades and when these occur, PD manually deletes relevant files from the ExifTool subfolder, which prompts ExifTool to re-extract its files from scratch when we invoke it next.
This was not straightforward as the portable Perl version ExifTool uses assigns inconsistent file permissions to random files, even within the same subfolder! I have manually blacklisted files and folders where I encountered permissions issues, and the new solution allows for in-place upgrades, without errors, and without throwing a bunch of permission errors when PD tries to clean-up ExifTool's portable Perl copy between upgrades.
Long story short, ExifTool has now been updated and future updates should (fingers crossed) not cause problems for anyone.
(I tackled this problem now because recent ExifTool versions add some support for JPEG XL metadata.)
0 commit comments