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

  1. Use the Registry or Certificate tab for MSI-typed entries.
  2. Re-cache the MSI package if you genuinely need file metadata.
  3. 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

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


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