Keeping compatibility across the service packs
Starting with ARES Commander 2022 we introduce a stable version of the APIs across the service packs. This article explains how to compile your plugin against an specific Service Pack version.
You will find several libraries in the SDK. Current will refer to the latest version available in the service pack and in addition you will see the SDKs for the previous service packs.
You will require three steps to compile and make your plugin available for a specific API version.
Compile your plugin against the specific headers e.g. Headers/frx_inc/FxARX20XXSPX/
Link your plugin against correct library e.g. Libraries/frx_lib/FxARX20XX_X0.lib.
Add a resource to your plugin defining the API version.
Adding resource to your project
Please create a resource file e.g. MyPlugin.rc and add it to your FRX project. The content may look like this
#define APSTUDIO_READONLY_SYMBOLS
#include "afxres.h"
#undef APSTUDIO_READONLY_SYMBOLS
VS_VERSION_INFO VERSIONINFO
FILEVERSION 21,0,0,1
PRODUCTVERSION 1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040704b0"
BEGIN
VALUE "FRX-API-VERSION", "2025_00" //ADD FRX API VERSION
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x407, 1200
END
END
You can explicitly add the FxARX API version: 20XX_X0, as we did above or you can use the macro FRX_API_VERSION:
Include the correct FrxVersion.h from the selected API.
Define the value FRX-API-VERSION and use the macro FRX_API_VERSION from FrxVersion.h
VALUE "FRX-API-VERSION", FRX_API_VERSION
This resource value is required for ARES Commander to understand what API is required for the plugin.
Note: All plugins you want to load must refer to the same API. If not you cannot load all together.