{"record":{"id":"c294a2e730a60335","repo":"BCUninstaller/Bulk-Crap-Uninstaller","slug":"this-application-does-not-have-a-valid-registry-en","errorCode":null,"errorMessage":"This application does not have a valid registry entry","messagePattern":"This application does not have a valid registry entry","errorType":"exception","errorClass":"InvalidOperationException","httpStatus":null,"severity":"warning","filePath":"source/BulkCrapUninstaller/Functions/AppPropertiesGatherer.cs","lineNumber":151,"sourceCode":"            ConvertPropertiesIntoDataTable(lq, dt);\r\n            return dt;\r\n        }\r\n\r\n        private static DataTable ExtractOverview(ApplicationUninstallerEntry tag)\r\n        {\r\n            var lq = from property in typeof(ApplicationUninstallerEntry).GetProperties()\r\n                     select new SingleProperty(property.GetLocalisedName(), property.GetValue(tag, new object[] { }));\r\n\r\n            // Create and return the table\r\n            var dt = GetCleanDataTable();\r\n            ConvertPropertiesIntoDataTable(lq, dt);\r\n            return dt;\r\n        }\r\n\r\n        private static DataTable ExtractRegistryInfo(ApplicationUninstallerEntry tag)\r\n        {\r\n            if (!tag.IsRegistered)\r\n                throw new InvalidOperationException(Localisable.PropertiesWindow_Table_ErrorMissingRegistry);\r\n\r\n            var targetKey = tag.OpenRegKey();\r\n            var dt = GetCleanDataTable();\r\n\r\n            var valueNames = targetKey.GetValueNames();\r\n            foreach (var valueName in valueNames)\r\n            {\r\n                dt.Rows.Add(valueName, targetKey.GetValue(valueName));\r\n            }\r\n\r\n            targetKey.Close();\r\n            return dt;\r\n        }\r\n\r\n        private static DataTable GetCleanDataTable()\r\n        {\r\n            var dt = new DataTable {Locale = CultureInfo.InvariantCulture};\r\n            dt.Columns.Add(Localisable.PropertiesWindow_Table_Name, typeof(string));\r","sourceCodeStart":133,"sourceCodeEnd":169,"githubUrl":"https://github.com/BCUninstaller/Bulk-Crap-Uninstaller/blob/608321de98e92297377b1eb69029af55c25504a1/source/BulkCrapUninstaller/Functions/AppPropertiesGatherer.cs#L133-L169","documentation":"ExtractRegistryInfo requires the entry to be registered (IsRegistered true) so it can open the registry key and enumerate its values. Entries not backed by an uninstall registry key (e.g. detected via store, portable, or other means) have nothing to display and trigger this InvalidOperationException from PropertiesWindow_Table_ErrorMissingRegistry.","triggerScenarios":"Opening the Registry tab for a portable, UWP, or win32-store entry that has no uninstall registry key; an entry loaded purely from a cached scan.","commonSituations":"Store/UWP apps; manually-added entries; entries whose registry key was already deleted.","solutions":["Use the Overview or Certificate tab for entries that are not registry-backed.","Confirm the entry type; store apps legitimately have no classic registry uninstall key.","Rescan to confirm whether the entry should still be considered registered."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if (!entry.IsRegistered)\n    /* skip / disable the Registry tab */","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Check IsRegistered before requesting registry info.","Recognise store/portable entries as legitimately having no registry key."],"tags":["properties-window","registry","missing-data"],"backgroundTag":null,"analyzedSha":"608321de98e92297377b1eb69029af55c25504a1","analyzedAt":"2026-08-13T12:17:35.389Z","schemaVersion":2},"datasetVersion":"2026-08-13T14:17:21.547Z"}