Dijji / FileMeta

Enable Explorer in Vista, Windows 7 and later to see, edit and search on tags and other metadata for any file type
Microsoft Public License
760 stars 68 forks source link

No metadata shown for jpg file #26

Open Dijji opened 6 years ago

Dijji commented 6 years ago

When I type filemeta -ec file.jpg from the command prompt in a Win 10 environmen I just see as a response. Windows shows a lot of metadata present.

This work item was migrated from CodePlex

CodePlex work item ID: '9730' Vote count: '1'

Dijji commented 6 years ago

[Dijji@25/10/2017] For File Meta to read metadata properties for an extension, you need to register that extension using the File Meta Association Manager first.

Note that in the case of .jpg, File Meta would be extending the existing Microsoft property handler, so be sure to read the documentation first so that you understand the full implications.

Dijji

Dijji commented 6 years ago

[SimonKravis@25/10/2017] The jpg extension is greyed out in the File Extension column in File Meta Association Manager and shows as having IPropertyStore Handler for Images in the Property Handler column. The button Add File Meta Handler is also greyed out for this extension.

For file extensions not showing a handler, the extension is not greyed out and the Add File Meta Handler button is enabled.

Dijji commented 6 years ago

[Dijji@26/10/2017] What version are you running? The ability to extend existing property handlers was introduced in version 1.5. The behaviour that you are describing would be expected in versions before that.

Dijji

Dijji commented 6 years ago

[Dijji@26/10/2017] Be aware, however, that since the exported XML is simply a mechanism to backup the metadata properties stored in the alternate stream attached to the file by File Meta, then even after you have registered the extension, metadata property values held within the file will not be exported.

On the other hand, as extending the property handler diverts all written values to the alternate stream, all meta data properties written after the File Meta handler has been added, whether or not an initial value appears within the file, will be exported.

Dijji

Dijji commented 6 years ago

[SimonKravis@26/10/2017] I have v 1.5, so the reason no metadata is exported is that is was not set by FileMeta as pointed out in the preceding comment. I would like to use FileMeta to programmatically set metadata and it would appear that the way to do this is to write an xml file and then import it. However, when I import the following XML file

<Metadata>
    <Storage Description="SummaryInformation" FormatID="{F29F85E0-4FF9-1068-AB91-08002B27B3D9}">
        <Property Name="System.Title" Id="2" Type="VT_LPWSTR" TypeId="31">
            <Value>Title2</Value>
        </Property>
    </Storage>
</Metadata>

The file is successfully imported and filemeta -ec file.jpg reproduces the xml. However, properties as shown in the Details tab of the file properties as shown in FileExplorer in Windows 10 does not show the value set for the Title field.

Dijji commented 6 years ago

[Dijji@28/10/2017] Metadata export and import to and from XML works directly against the alternate stream property storage, which we now know is working as it should.

The appearance of these properties in Explorer is driven by the registry settings controlled by the File Association Manager. Nothing will appear there until you have set up File Meta as the property handler for the .jpg extension. Is it possible that you are somehow still running an old version of the Association Manager? I would expect the product version in the Details tab of the executable properties to be 1.5.6128.24231.

Dijji

Dijji commented 6 years ago

[SimonKravis@28/10/2017] I had version FileAssociationManager,exe v 1.2.5235.19622 and FileMeta.exe v 1.2.5235.0 installed. Downloading and installing latest 64 bit version I have FileMetaAssoc.exe v 1.5.6128.24231 last modified 11/10/2016 and FileMeta.exe is still 1. 2.5235.0.

FileAssocManager has a different interface where it is possible to add a File Meta handler to the extension .jpg. When this button is clicked, a message appears saying that this action will extend the existing handler and create a custom profile for the extension and asking if the use wishes to proceed.

Attempting to use FileMeta.exe to add a metadata field without extending the existing handler for .jpg (which is IpropertyStore Handler for Images) with the command

FileMeta.exe -i -x=SetTitle.xml File.jpg

results in the command prompt being returned with no indication that any metadata has been added, and FileMeta.exe -ec File.jpg does not return any values.

After clicking Yes for confirmation of extension of property handler the command

FileMeta.exe -i -x=SetTitle.xml File.jpg

returns Error 0x80030005 obtaining IPropertySetStorage

and

FileMeta.exe -ec File.jpg returns

Dijji commented 6 years ago

[Dijji@31/10/2017] 0x80030005 is access denied, i.e. a permissions failure. This may be because you have two versions of File Meta installed. The designed process is to uninstall the old version, then install the new version. Installation does not remove the old version in place. Please remove version 1.2 and version 1.5, then reinstall 1.5. No configuration data will be lost.

Please also note that I will be moving the project to GitHub in the next few days, so we may have to continue your issue there.

Dijji

akaleeroy commented 5 years ago

Sorry for reviving, but if I want to export metadata from all media files I have to...

1) register the extension (.jpg) 2) some kind of touch command run against each file to "move" the existing Windows metadata to FileMeta's alternate data stream? 3) filemeta -ec myimage.jpg would output all of the metadata now

What ought I do for step 2?

Dijji commented 5 years ago

Step 2 doesn’t exist at the moment, but maybe it should. I will do a little research into the possibilities of reading all the available properties from a file, which I think is the hardest bit.

Dijji