registry

rivia.controller.registry.find_hec_ras_installations()[source]

Return a list of HEC-RAS installations found in Windows Uninstall registry keys.

Return type:

list[dict[str, Any]]

Searches:
  • HKCU...Uninstall (per-user)

  • HKLM...Uninstall (system)

  • HKLM...WOW6432NodeUninstall (system 32-bit view)

Each item includes:

scope: “user” | “system” | “system_wow6432” display_name, display_version, parsed_version, registry_xxx, install_location, publisher, uninstall_string, registry_key

rivia.controller.registry.hec_ras_progid(version, kind='controller')[source]

Build the COM ProgID string for the requested HEC-RAS version.

kind: “controller” or “geometry”

Return type:

str

Parameters:
rivia.controller.registry.installed_ras_progids()[source]

Given a function that returns installed HEC-RAS entries (like find_hec_ras_installations()), enrich each entry with the actual registered COM ProgID info for Controller and Geometry.

Return type:

list[dict[str, Any]]

Usage:

installs = installed_ras_progids(find_hec_ras_installations)

rivia.controller.registry.ras_registry_xxx(version)[source]

Convert a HEC-RAS version into the registry COM ProgID suffix XXX.

Return type:

str

Parameters:

version (str | int)

Examples

6.4.1 -> “641” (RAS641.HECRASController) 6.3 -> “63” (patch defaults to 0) 5.0.7 -> “507” 5.1 -> “51” (patch defaults to 0) 510 -> “51” (interpreted as 5.1.0) 51 -> “51” (interpreted as 5.1.0) 4.1 -> “41” (4.x uses major+minor) 4.1.0 -> “41” (patch ignored for 4.x) 410 -> “41” (interpreted as 4.1.0 for 4.x) “RAS630” -> “63”