A shell extension for Windows which displays the metadata of .gma addon archive files used by Garry's Mod.
The following shell properties are provided from the .gma metadata:
.gma Metadata | Shell Property Mapping | Notes |
---|---|---|
Name | Title | |
Author | Authors | Very few .gma files contain this data |
Description | Description | Typically, only old(er) format .gma files contain this data |
Type | Categories | Windows already uses property "Type" for file type (i.e. extension) |
Tags | Tags |
GmaShellInfo is compatible with Windows Vista and newer.
GmaShellInfo requires the Microsoft Visual C++ 2010 runtime. This is included in the GmaShellInfo installer and will automatically be installed, if needed.
- Go to the releases page and select a release, such as the latest.
- Dowload the installer which matches your system's architecture.
- On 64-bit systems, download the GmaShellInfo_x.x.x_x64.exe installer. Most systems today are 64-bit.
- On 32-bit systems, download the GmaShellInfo_x.x.x_x86.exe installer.
- Run the installer.
- GmaShellInfo will be activated as soon as the installer completes.
Shell extensions are architecture-specific.
- The 32-bit version of GmaShellInfo only works in 32-bit Windows Explorer, and the 64-bit version only works in 64-bit Windows Explorer.
- The 32-bit extension will not work in 64-bit Windows Explorer. However, if you are running 32-bit applications on your 64-bit system, you may need to additionally install the 32-bit version of GmaShellInfo in order for the .gma properties to appear in the various file browse/open/save/etc dialogs created by the 32-bit application.
Once installed, open Explorer and navigate to a folder containing .gma files.
- In the details view, right-click the column headers to add additional columns
- Selecting a file will show all available properties in the properties panel...
- ...and in the full property sheet
If you do not see the metadata of your .gma files:
- Reboot, or log off and log back on. This will restart Windows Explorer and the COM server it uses to host shell extensions.
- Check your .gma files in a hex editor. Some .gma files may be missing some or all metadata.
- Ensure you installed the correct version of GmaShellInfo for your system's architecture.
This repository consists of a single Visual Studio 2017 solution containing all relevant projects. Requirements are listed below.
GmaShellPropertyHandler
is the Property Handler shell extension that constitutes GmaShellInfo. It is set up to build with the Visual Studio 2010 (v100) MSVC toolset and the Windows 7 SDK.Installer.Msi.GmaShellInfo
andInstaller.Bundle
are WiX v3 projects that produce the release installers. The WiX v3 toolset and Visual Studio extension must be installed to build these two projects.WixCaShellAssocNotify
is a custom action for the WiX installer projects. Building it requires the v100 MSVC toolset, the Windows 7 SDK, and the WiX v3 toolset.
Installer.Bundle
embeds the v100 SP1 MSVC redistributable installers to run during the GmaShellInfo installation. These vcredist installers are not present in this repository. The build will fail when these files are missing.
- Acquire them from Microsoft.
- Place the x86 installer at
Installer.Bundle\EmbedPrereqInstallers\vcredist_x86_2010_SP1.exe
- Place the x64 installer at
Installer.Bundle\EmbedPrereqInstallers\vcredist_x64_2010_SP1.exe
Refer to notes in Installer.Bundle\Bundle.wxs
regading which revision of the v100 SP1 vcredist to download & embed.
GmaShellPropertyHandler
uses code and is adapted from Microsoft's public sample PlaylistPropertyHandler.GmaShellPropertyHandler
uses the cJSON library.