{"record":{"id":"ca73a60f5e2b6af1","repo":"Flow-Launcher/Flow.Launcher","slug":"failed-to-load-everything-sdk","errorCode":null,"errorMessage":"Failed to load Everything SDK","messagePattern":"Failed to load Everything SDK","errorType":"exception","errorClass":"EngineNotAvailableException","httpStatus":null,"severity":"error","filePath":"Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingSearchManager.cs","lineNumber":37,"sourceCode":"        {\n            Settings = settings;\n        }\n\n        private async ValueTask ThrowIfEverythingNotAvailableAsync(CancellationToken token = default)\n        {\n            try\n            {\n                if (!await EverythingApi.IsEverythingRunningAsync(token))\n                    throw new EngineNotAvailableException(\n                        Enum.GetName(Settings.IndexSearchEngineOption.Everything)!,\n                        Localize.flowlauncher_plugin_everything_click_to_launch_or_install(),\n                        Localize.flowlauncher_plugin_everything_is_not_running(),\n                        Constants.EverythingErrorImagePath,\n                        ClickToInstallEverythingAsync);\n            }\n            catch (DllNotFoundException)\n            {\n                throw new EngineNotAvailableException(\n                    Enum.GetName(Settings.IndexSearchEngineOption.Everything)!,\n                    \"Please check whether your system is x86 or x64\",\n                    Constants.GeneralSearchErrorImagePath,\n                    Localize.flowlauncher_plugin_everything_sdk_issue());\n            }\n        }\n\n        private async ValueTask<bool> ClickToInstallEverythingAsync(ActionContext _)\n        {\n            try\n            {\n                var installedPath = await EverythingDownloadHelper.PromptDownloadIfNotInstallAsync(Settings.EverythingInstalledPath, Main.Context.API);\n\n                if (installedPath == null)\n                {\n                    Main.Context.API.ShowMsgError(Localize.flowlauncher_plugin_everything_not_found());\n                    Main.Context.API.LogError(ClassName, \"Unable to find Everything.exe\");\n","sourceCodeStart":19,"sourceCodeEnd":55,"githubUrl":"https://github.com/Flow-Launcher/Flow.Launcher/blob/7fc63b07bbaa10a0f0b2601487913fcba9ed24b0/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingSearchManager.cs#L19-L55","documentation":"Thrown as EngineNotAvailableException(message=flowlauncher_plugin_everything_sdk_issue()) from the catch (DllNotFoundException) inside ThrowIfEverythingNotAvailableAsync. The bundled Everything interop DLL (Everything x86/x64) could not be loaded by the .NET runtime, so the API surface is unusable. The hint 'Please check whether your system is x86 or x64' reflects that the wrong bitness of the native DLL is the most common cause.","triggerScenarios":"The Everything native DLL is missing from the plugin folder, the wrong architecture (x86 vs x64 vs ARM64) is shipped, the DLL is blocked by Windows Mark-of-the-Web or by antivirus, or a dependent VC++ runtime is not installed. Any call into EverythingApi triggers the DllNotFoundException on first P/Invoke.","commonSituations":"Plugin was copied between machines without the native Everything*.dll; Flow Launcher was installed as x86 but the plugin shipped an x64-only native DLL (or the reverse); the DLL was quarantined by antivirus after download; the user is on ARM64 Windows and only x64/x86 binaries shipped.","solutions":["Reinstall the Explorer plugin from a clean source so the matching-bitness Everything*.dll is present.","Match Flow Launcher's process architecture (x86 vs x64) to the bundled Everything native DLL.","On ARM64, install the x64 Everything build and run Flow Launcher under x64 emulation, or use an ARM64 Everything build if available.","Unblock the DLL (file Properties > Unblock) and add an antivirus exclusion if it keeps being quarantined."],"exampleFix":"// before - one path for all DllNotFoundException causes\ncatch (DllNotFoundException)\n{\n    throw new EngineNotAvailableException(...);\n}\n\n// after - record the failed DLL name for diagnosis\nconst string dll = \"Everything.dll\";\ntry { return File.Exists(Path.Combine(pluginDir, dll)); }\ncatch (DllNotFoundException ex) when (ex.Message.Contains(dll))\n{\n    Main.Context.API.LogError(ClassName, $\"Missing/blocked {dll} in {pluginDir}\");\n    throw new EngineNotAvailableException(\"Everything\", \"reinstall the plugin\", ex.Message, ...);\n}","handlingStrategy":"validation","validationCode":"var arch = RuntimeInformation.ProcessArchitecture;\nvar expected = arch == Architecture.X64 ? \"Everything64.dll\" : \"Everything.dll\";\nif (!File.Exists(Path.Combine(pluginDir, expected)))\n    throw new FileNotFoundException($\"Missing {expected} for {arch}.\");","typeGuard":"static bool NativeDllPresent() => File.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, \"Everything.dll\"));","tryCatchPattern":"try { await manager.SearchAsync(query, token); }\ncatch (EngineNotAvailableException ex) when (ex.InnerException is DllNotFoundException) { PromptReinstallPlugin(); }","preventionTips":["Reinstall the plugin from a clean source to restore the matching-bitness DLL.","Match Flow Launcher's architecture to the bundled native DLL.","Unblock downloaded DLLs and check antivirus exclusions.","On ARM64 use an x64 Everything build under emulation."],"tags":["everything","dll-not-found","interop","bitness","csharp"],"backgroundTag":null,"analyzedSha":"7fc63b07bbaa10a0f0b2601487913fcba9ed24b0","analyzedAt":"2026-08-13T14:54:20.914Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}