BCUninstaller/Bulk-Crap-Uninstaller · error · ArgumentException

Could not find Steam App with the ID

Error message

Could not find Steam App with the ID {appIdStr}

What it means

An ArgumentException thrown by `SteamApplicationInfo.FromAppId` when no `appmanifest_<id>.acf` file matching the given AppID is found in any registered Steam library (SteamAppsLocations). The helper scans every library directory for a manifest whose numeric suffix equals the appId; if none matches, the app is considered not installed (or not installed via Steam) and the lookup fails.

Solutions

  1. Verify the app is currently installed by checking Steam's library UI.
  2. Confirm the AppID is correct (look it up via `SteamHelper list`).
  3. Ensure all Steam library folders are mounted and listed in `steamapps/libraryfolders.vdf`.
  4. If the manifest was deleted but the app exists, reinstall via Steam then retry.
Defensive patterns

Strategy: try-catch

Validate before calling

// Pre-check that a manifest exists for the id before calling FromAppId.
bool installed = SteamInstallation.Instance.SteamAppsLocations
    .Any(d => Directory.GetFiles(d, $"appmanifest_{appId}.acf").Length > 0);
if (!installed) return; // or report 'not installed'

Try / catch

try { var info = SteamApplicationInfo.FromAppId(appId); }
catch (ArgumentException ex) when (ex.Message.StartsWith("Could not find Steam App"))
{ /* treat as not-installed, skip or notify user */ }

Prevention

When it happens

Trigger: Calling `FromAppId(<id>)` where the id does not correspond to an installed Steam app, the manifest file was deleted/moved, or the Steam library folder list is incomplete (libraryfolders.vdf not parsed).

Common situations: App was uninstalled manually by deleting files; Steam installed to a non-standard drive not registered in libraryfolders.vdf; the AppID came from an external source and was never installed; Steam library on a disconnected external drive.

Related errors


AI-assisted analysis of BCUninstaller/Bulk-Crap-Uninstaller@608321de98 (2026-08-13). Data as JSON: /api/errors/b2155956803cb2c7. Report an issue: GitHub.

Appendix: source

Thrown at source/SteamHelper/SteamApplicationInfo.cs:55

        {
            DirectoryInfo dir = null;
            FileInfo manifestFile = null;
            var appIdStr = appId.ToString("G");

            foreach (var steamAppsLocation in SteamInstallation.Instance.SteamAppsLocations)
            {
                var result = Directory.GetFiles(steamAppsLocation, @"appmanifest_*.acf")
                    .FirstOrDefault(x => appIdStr.Equals(Path.GetFileNameWithoutExtension(x).Substring(12), StringComparison.InvariantCulture));
                if (!string.IsNullOrEmpty(result))
                {
                    manifestFile = new FileInfo(result);
                    dir = new DirectoryInfo(steamAppsLocation);
                    break;
                }
            }

            if (dir == null)
                throw new ArgumentException("Could not find Steam App with the ID " + appIdStr);

            return FromParams(appId, manifestFile, dir);
        }

        private static SteamApplicationInfo FromParams(int appId, FileInfo manifestFile, DirectoryInfo containingAppsDir)
        {
            var appIdStr = appId.ToString("G");
            var output = new SteamApplicationInfo(appId);
            output.ManifestPath = manifestFile.FullName;

            //"C:\Steam\steam.exe" steam://uninstall/123
            output.UninstallString = $"\"{SteamInstallation.Instance.MainExecutableFilename}\" steam://uninstall/{appIdStr}";

            var manifestStrings = File.ReadAllLines(output.ManifestPath);
            output.Name = GetManifestValue(manifestStrings, "name");
            output.SizeOnDisk = GetManifestValue(manifestStrings, "SizeOnDisk");
            var installDirName = GetManifestValue(manifestStrings, "installdir");
            if (!string.IsNullOrEmpty(installDirName))

View on GitHub (pinned to 608321de98)