Skip to content

Questions about FileMeta #113

Closed
Closed

Description

@Bamajon1974

I couldn't find any contact information about FileMeta to ask general questions so I thought I would ask via the GitHub Issues Messaging.

  1. If I understand correctly, the FileMeta Association Manger provides a GUI to edit system property info for drives, files and folders. So, for example, if I wanted to add more information to the Properties->Details tab for a file, folder or drive, rather than add or remove the system.(metadata) values, such as drive capacity, date modified, or file attributes (detailed here: https://docs.microsoft.com/en-us/windows/win32/properties/props) for "FullDetails" strings in HKCR*, HKCR\Directory\ or HKCR\Drive, your program provides a convenient interface to do so. Correct?
  2. The default profiles only add or remove pre-selected metadata while custom profiles allow more customization, correct?
  3. Why does File Association Manager not have the ability to edit metadata in TileInfo, ExtendedTileInfo and PreviewTitle strings?
  4. For that matter, where does the metadata for PreviewTitle strings show up?

Thanks!

Activity

  1. Dijji commented on Mar 3, 2021

    @Dijji
    Owner

    As far as I know, Issues are the recommended way to ask questions in a GitHub project, so you are fine. To get onto the answers:

    1. The Association Manager does indeed set up FullDetails, PreviewDetails and InfoTip registry keys, but it does so only for files, and not for folders and drives. The primary key is file extension, and the edited values are stored under HKCR\SystemFileAssociations under the extension name. The Association Manager will also manage what property handler is set up for a given extension. A File Meta provided property handler stores properties in a file's alternate stream, which is what enables File Meta to set up meta data storage for a text file.
    2. Correct
    3. My perception of what is most commonly used. InfoTip was only added relatively recently.
    4. See https://docs.microsoft.com/en-us/windows/win32/properties/building-property-handlers-property-lists for a list of the extension registry values and their visual effects.
  2. Bamajon1974 commented on Mar 4, 2021

    @Bamajon1974
    Author

    Thank you for the reply. I have a few follow up questions....

    1. I have noticed that file extensions have FullDetails, InfoTip, PreviewDetails, TileInfo, etc. registry keys that are editable in both HKCR and many are duplicated in HKCR\SystemFileAssociations. Should file metadata be edited in the SystemFileAssociations key rather than the root keys? Or does it matter?

    2. In parallel to the Association Manger assigning the relevant properties for files, is there a better place other than microsoft you recommend that would have a great explanation what properties should be assigned to drives, folders and libraries?

    3. FYI, i discovered you can add a details tab to foldes, drives and libraries by adding the following registry modification:
      HKCR\Directory (or Drive or LibraryBackground) \shellex\PropertySheetHandlers{883373C3-BF89-11D1-BE35-080036B11A03}]
      @="Summary Properties Page"

    4. These two property handlers for folders.....System.FileCount and System.TotalFileSize; they don't show up for folders in details or preview window. How do you get them to display?

    Thanks!

  3. Dijji commented on Mar 4, 2021

    @Dijji
    Owner
    1. The HKCR.ext entries are the older form, and in fact take precedence if both exist. File Meta used to use them for this reason. But there is a drawback. If you look at the entry for .txt, it delegates, through its default value, to txtfile, where the Shell key is held (in this case, a Shell key on .txt would be ignored). So File Meta used to follow the chain, and set the properties on the lowest delegate. However, the delegates are shared. The .log extension entry also points to txtfile. I didn't want to set the properties for both of them, or make it impossible for them to have different properties. So I shifted to the strictly per extension SystemFileAssociations, which Microsoft were already migrating to over time.
    2. I need to correct your terminology here, in case it is misleading your thinking. Properties are not assigned to drives; drives have properties, which are intrinsic and not as far as I know, extensible. Folders and files also have intrinsic properties, such as size and date modified. Particular file types may also have property values saved in their specific format, such as comments in a Word document. Windows uses property handlers to retrieve such properties, provides many such handlers of its own, and allows the definition of additional ones for formats it does not understand. File Meta extends this support still further to allow the storage of property values in alternate streams associated with a file. All properties are pre-defined by Windows (though again, the set is extensible). So you can't assign a property to a drive, for example. What you can do is ask Windows for a property store linked to a drive, and then try and retrieve named property values from it, the vast majority of which will not have a value. So things like FullDetails simply list the property names that Explorer will try to retrieve to populate a particular part of its UI. For a subset of properties, there are also APIs that retrieve their values directly, such as for file size. To get back to your question, there are many third party programs that read these properties and use these APIs. But none that I know of is as general and configurable as Explorer.
    3. Very interesting, I didn't know about this, but will explore it.
    4. You would need to find a registry key that configures Explorer and tells it what properties to read for these display areas, but I do not know of one, and it may not exist.
  4. Dijji commented on Mar 15, 2021

    @Dijji
    Owner

    I have just discovered and enabled the relatively recent Discussions feature, which is what this issue should always have been. I'm going to transfer it to Discussions, under Q & A.

  5. Repository owner locked and limited conversation to collaborators on Mar 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions