BCUninstaller/Bulk-Crap-Uninstaller · info · NotSupportedException
Nothing to display. This application is uninstalled using Wi
Error message
Nothing to display. This application is uninstalled using Windows Installer (MsiExec).
What it means
ExtractFileInfo found that the uninstaller file does not exist on disk and the entry's UninstallerKind is Msiexec. MSI uninstallers run through the Windows Installer service (msiexec.exe) rather than a standalone executable, so there is no on-disk file metadata to display. The NotSupportedException message comes from PropertiesWindow_Table_ErrorMsi.
Source
Thrown at source/BulkCrapUninstaller/Functions/AppPropertiesGatherer.cs:122
// Extract required data
var lq = from property in typeof(LocalizedX509Certificate2).GetProperties()
select new SingleProperty(property.GetLocalisedName(), property.GetValue(localizedCert, new object[] { }));
// Create and return the table
var dt = GetCleanDataTable();
ConvertPropertiesIntoDataTable(lq.ToList(), dt);
return dt;
}
private static DataTable ExtractFileInfo(ApplicationUninstallerEntry tag)
{
if (string.IsNullOrEmpty(tag.UninstallerFullFilename))
throw new InvalidOperationException(Localisable.PropertiesWindow_Table_ErrorMissingUninstaller);
if (!File.Exists(tag.UninstallerFullFilename))
{
if (tag.UninstallerKind == UninstallerType.Msiexec)
throw new NotSupportedException(Localisable.PropertiesWindow_Table_ErrorMsi);
throw new IOException(Localisable.PropertiesWindow_Table_ErrorDoesntExist);
}
var fi = AdvancedFileInfo.FromPath(tag.UninstallerFullFilename);
var lq = from property in typeof(AdvancedFileInfo).GetProperties()
select new SingleProperty(property.GetLocalisedName(), property.GetValue(fi, new object[] { }));
// Create and return the table
var dt = GetCleanDataTable();
ConvertPropertiesIntoDataTable(lq, dt);
return dt;
}
private static DataTable ExtractOverview(ApplicationUninstallerEntry tag)
{
var lq = from property in typeof(ApplicationUninstallerEntry).GetProperties()
select new SingleProperty(property.GetLocalisedName(), property.GetValue(tag, new object[] { }));
View on GitHub (pinned to 608321de98)
Solutions
- Use the Registry or Certificate tab for MSI-typed entries.
- Re-cache the MSI package if you genuinely need file metadata.
- Treat MSI entries as having no file-info tab and default to Overview.
Defensive patterns
Strategy: validation
Validate before calling
if (entry.UninstallerKind == UninstallerType.Msiexec && !File.Exists(entry.UninstallerFullFilename))
/* skip File info tab for MSI entries */ Prevention
- Treat MSI-typed entries as having no on-disk uninstaller file.
- Default such entries to the Overview/Registry tabs.
When it happens
Trigger: Opening the File info tab for an MSI-installed application whose cached MSI/uninstaller is gone; a system-component MSI entry.
Common situations: MSI apps whose cached .msi was deleted by disk cleanup; Windows component-store MSI entries.
Related errors
- Selected tab is invalid or not supported.
- This application does not have a valid uninstaller
- This application does not have a valid registry entry
- Uninstaller returned error code: {exitVar}
AI-assisted analysis of BCUninstaller/Bulk-Crap-Uninstaller@608321de98 (2026-08-13).
Data as JSON: /api/errors/a1714699de9a5107.
Report an issue: GitHub.