protected abstract bool HasVersion(RegistryItem item, RegistryItemVersion version);
public static SemanticVersion GetSemVer(this RegistryItemVersion mv) => new(mv.Version);