Skip to content
This repository was archived by the owner on Sep 9, 2026. It is now read-only.
This repository was archived by the owner on Sep 9, 2026. It is now read-only.

Detect the installed KSA version from KSA.dll's file version #40

Description

@Maximilian-Nesslauer

Problem

KsaBuildVersionProvider detects the installed version by reading the newest Content/Versions/*.json and its build field. That works, but relies on file timestamps ("newest by LastWriteTimeUtc") and on the Versions folder being intact.
KSA.dll's PE file version (FileVersionInfo.GetVersionInfo(<GameDir>/KSA.dll).FileVersion) carries the exact same 4-part version (e.g. 2026.6.9.4750) and can be read without loading the assembly, similar to how the KSP2 provider falls back to FileVersionInfo of the exe.

Tasks

  • Try KSA.dll's FileVersion first in KsaBuildVersionProvider, keeping the Content/Versions scan as fallback.
  • Keep the fallback authoritative for faked instances: GameInstanceManager.FakeInstance writes a minimal Content/Versions file (Make instance fake work for KSA #34) and creates no KSA.dll, so the fallback path must stay tested.
  • Extend KsaBuildVersionProviderTests for both sources and their precedence.

Not blocking anything; the current provider works. Filed so it does not get lost.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    • Status
      Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions