Open det29 opened 6 years ago
You would in addition need to install the property handler itself and register it with COM. The 64-bit entries would typically look like this:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{D06391EE-2FEB-419B-9667-AD160D0849F3}]
@="File Meta Property Handler"
"DisableProcessIsolation"=dword:00000001
"ManualSafeSave"=dword:00000001
"EnableShareDenyWrite"=dword:00000001
"EnableShareDenyNone"=dword:00000001
[HKEY_CLASSES_ROOT\CLSID\{D06391EE-2FEB-419B-9667-AD160D0849F3}\InprocServer32]
@="C:\\Program Files\\File Metadata\\FileMetaPropertyHandler.dll"
"ThreadingModel"="Both"
Note that there are values that would not be set if you just used regsvr32. These are required to make indexing and property search work correctly.
Having done that, and associated the properties with your extension, you should have programmatic access to the properties, plus indexing and search. If you want to access them from Explorer, then a good deal more is required, as you have to tell Explorer about what properties to show where.
As to the licence, I am not a lawyer, and whatever I say here is not binding: however, my expectation is that use of either binary or source code elements in a commercial project is fine, subject to the conditions specified in the licence or licences relevant to the pieces used, such as the preservation of copyright notices.
Dijji
Hi Dijji - thanks for your response, that seems reasonably straightforward to achieve.
Does your property handler provide any control over the read/write status of individual properties? Or, alternately, can it be controlled via the registry entries? I would like to make some of them read-only if possible.
One other question: is there any way to control the property names displayed in Explorer?
Thanks.
Generally, properties are read-only if their meta data says they are. For instance, the System.TotalFileSize property has InInnate set to true in its property description.
Similarly, the display name of a property also comes from its property description (specifically, the labelinfo).
Which properties are shown where in Explorer is controlled by registry keys under SystemFileAssociations. These values are the domain of the File Association Manager component of File Meta, and documented under that heading.
For your custom file, you can use system-defined properties, or you can define custom properties of your own.
Dijji
Hi,
I've been trying out FileMeta and it works very nicely (once I overcame the various old versions of Visual Studio with their accompanying msvcr dlls on my computer!).
I work on s/w that generates files with a custom extension and would like to use the property handler FileMeta creates. There is an installer for this s/w and I was wondering if the only requirement to distribute the property handler to our users was to set up the registry as described in Linking to the property handler. Is that correct, or have I over-simplified it?
Secondly, does your licence permit this kind of use on a commercial product?
Thanks.