How to Update the Application Version

The whole-application CVersion, set once at startup — distinct from per-model/driver versions.

This is the application-wide version — the identity of the whole CoreEngine executable (product name, version, company, vendor). It's different from the per-model/driver version strings covered in Component Versioning — those identify individual components; this one identifies the application itself.

1. Where It's Set

The application version is set once in main(), as a CVersion passed to CSimSetups::Start():

// SimEng.cpp
int main(int argc, char** argv)
{
    const char* projectID = "E28C39D4-EE6A-412F-99C8-7B6713B67007";
    static CVersion version("ROMAH", "1.6.8", "Elbit Systems", "HAMAM");

    CSimSetups::Start(argv, argc, projectID, version);
    return 0;
}

CVersion has four fields, all free-form strings:

FieldExampleMeaning
m_productName"ROMAH"The product/application name.
m_version"1.6.8"The application version number.
m_company"Elbit Systems"The owning company.
m_vendor"HAMAM"The vendor/integrator.
To update the application version, edit this literal in main() and rebuild — there's no separate build-system version step to keep in sync.

2. How It's Used

CSimSetups::Start() passes the project ID and version straight into the CCoreEngine constructor, which stores it as a static, engine-wide value:

void CSimSetups::Start(char** argv, int argc, const char* projectId, const CVersion& appVersion)
{
    CCoreEngine simEng(projectId, appVersion);   // stored as CCoreEngine::AppVersion
    ...
}

3. Where to See It at Runtime

The application version isn't shown per-row in DIPanel's Core States (that view is per-model/per-driver) — look for it in the CoreEngine's startup log/console output and in the reports it emits at boot.