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:
| Field | Example | Meaning |
|---|---|---|
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. |
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
...
}
- Printed to the console/log at startup and in status reports (product name + version).
- Broadcast by the engine's product name and version when a Reflector instance is looking for it — this is part of how Reflector identifies which remote CoreEngine to mirror.
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.