Orbmu2k/nvidiaProfileInspector · error · InvalidOperationException
The selected release does not contain a downloadable update…
Error message
The selected release does not contain a downloadable update package.
What it means
InvalidOperationException thrown by AppUpdateService.PrepareInstallAsync when the given UpdateRelease is null or its IsInstallable flag is false, i.e. the GitHub release has no downloadable asset/attached update package. This is a caller-side precondition check before delegating to the installer.
Solutions
- Check release?.IsInstallable == true before calling PrepareInstallAsync and disable the install action otherwise
- Ensure the update-check code only surfaces releases that contain installable assets
- Catch the InvalidOperationException and show a 'no downloadable package for this release' message
- Refresh the release list — the asset may have been attached after the cached release data was fetched
Example fix
// before
await updateService.PrepareInstallAsync(release);
// after
if (release?.IsInstallable == true)
await updateService.PrepareInstallAsync(release);
else
MessageBox.Show("This release has no downloadable update package."); Defensive patterns
Strategy: validation
Validate before calling
if (release == null || !release.IsInstallable)
throw new InvalidOperationException("Release is not installable"); Try / catch
try { await updateService.PrepareInstallAsync(release); }
catch (InvalidOperationException) { MessageBox.Show("This release has no downloadable update package."); } Prevention
- Gate install commands on release?.IsInstallable == true
- Only fetch/list releases that contain installable assets
- Refresh release metadata if the asset was attached later
- Distinguish null release (not selected) from non-installable release in the UI
When it happens
Trigger: Calling PrepareInstallAsync with a release that only has source-code archives and no binary asset; passing a null release; a release whose asset list failed to parse so IsInstallable stayed false; calling install from a 'check for updates' flow without verifying installability.
Common situations: Self-update on releases where the CI pipeline failed to attach the zip; draft/prerelease releases without assets; UI enabling the Install button for every listed release.
Understand the failure class
Background: "missing required argument" and "the following required arguments were not provided": what required-argument errors mean and how to fix them — this error's family across 20 libraries.
Related errors
- The selected release does not contain a downloadable update…
- No update release was selected.
- Base profile cannot be deleted.
- The selected update package format is not supported.
AI-assisted analysis of Orbmu2k/nvidiaProfileInspector@2f50c388b3 (2026-09-15).
Data as JSON: /api/errors/657a3b5e9e46ad26.
Report an issue: GitHub.
Appendix: source
Thrown at nvidiaProfileInspector/Common/Updates/AppUpdateService.cs:50
.FirstOrDefault();
if (latestRelease == null)
return UpdateCheckResult.Unavailable("No release information is available.");
return latestRelease.Version > GetCurrentVersion()
? UpdateCheckResult.Available(latestRelease)
: UpdateCheckResult.UpToDate(latestRelease);
}
catch
{
return UpdateCheckResult.Unavailable("Could not read release information.");
}
}
public Task PrepareInstallAsync(UpdateRelease release)
{
if (release == null || !release.IsInstallable)
throw new InvalidOperationException("The selected release does not contain a downloadable update package.");
return _installer.PrepareAndRunAsync(release);
}
public static Version GetCurrentVersion()
{
return Assembly.GetExecutingAssembly().GetName().Version;
}
}
}
View on GitHub (pinned to 2f50c388b3)