{"record":{"id":"aa5cda5665870a17","repo":"lucasg/Dependencies","slug":"this-binary-use-the-app-v-containerization-technol","errorCode":null,"errorMessage":"This binary use the App-V containerization technology which fiddle with search directories and PATH env in ways Dependencies can't handle.\n\nFollowing results are probably not quite exact.","messagePattern":"This binary use the App-V containerization technology which fiddle with search directories and PATH env in ways Dependencies can't handle\\.\n\nFollowing results are probably not quite exact\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"info","filePath":"DependenciesGui/DependencyWindow.xaml.cs","lineNumber":682,"sourceCode":"                ImportModule.ApiSetModuleName = BinaryCache.LookupApiSetLibrary(DllImport.Name);\n\n                if (DllImport.Name.StartsWith(\"ext-\"))\n                {\n                    ImportModule.Flags |= ModuleFlag.ApiSetExt;\n                }\n            }\n\n            return ImportModule;\n        }\n\n        private void TriggerWarningOnAppvIsvImports(string DllImportName)\n        {\n            if (String.Compare(DllImportName, \"AppvIsvSubsystems32.dll\", StringComparison.OrdinalIgnoreCase) == 0 ||\n                    String.Compare(DllImportName, \"AppvIsvSubsystems64.dll\", StringComparison.OrdinalIgnoreCase) == 0)\n                {\n                    if (!this._DisplayWarning)\n                    {\n                        MessageBoxResult result = MessageBox.Show(\n                        \"This binary use the App-V containerization technology which fiddle with search directories and PATH env in ways Dependencies can't handle.\\n\\nFollowing results are probably not quite exact.\",\n                        \"App-V ISV disclaimer\"\n                        );\n\n                        this._DisplayWarning = true; // prevent the same warning window to popup several times\n                    }\n\n            }\n        }\n\n        private void ProcessAppInitDlls(Dictionary<string, ImportContext> NewTreeContexts, PE AnalyzedPe, ImportContext ImportModule)\n        {\n            List<PeImportDll> PeImports = AnalyzedPe.GetImports();\n\n            // only user32 triggers appinit dlls\n            string User32Filepath = Path.Combine(FindPe.GetSystemPath(this.Pe), \"user32.dll\");\n            if (ImportModule.PeFilePath != User32Filepath)\n            {","sourceCodeStart":664,"sourceCodeEnd":700,"githubUrl":"https://github.com/lucasg/Dependencies/blob/1997a40000b77bd3326cbc33672a7b9f78bb23f3/DependenciesGui/DependencyWindow.xaml.cs#L664-L700","documentation":"Shown once per DependencyWindow by TriggerWarningOnAppvIsvImports (DependenciesGui/DependencyWindow.xaml.cs:682) when an analysed module imports AppvIsvSubsystems32.dll or AppvIsvSubsystems64.dll (case-insensitive). These indicate a Microsoft App-V virtualised application; App-V rewrites DLL search order and PATH in ways Dependencies cannot replicate, so the displayed dependency tree may be inaccurate. The _DisplayWarning flag suppresses repeat popups.","triggerScenarios":"Analysing an App-V sequenced/virtualised executable whose import table references AppvIsvSubsystems32/64.dll.","commonSituations":"Inspecting an App-V package's executable; analysing a shortcut to a virtualised app; sequencing output from the App-V Sequencer.","solutions":["Treat the reported imports/exports as advisory, not authoritative, for App-V binaries.","For ground truth, analyse the real (de-virtualised) binary inside the App-V package mount point rather than the launcher.","Dismiss the dialog (it only appears once per window) and proceed with the caveat in mind."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":"// Detect App-V early and warn the user / branch behaviour.\nbool isAppV = imports.Any(i =>\n    string.Equals(i.Name, \"AppvIsvSubsystems32.dll\", StringComparison.OrdinalIgnoreCase) ||\n    string.Equals(i.Name, \"AppvIsvSubsystems64.dll\", StringComparison.OrdinalIgnoreCase));\nif (isAppV) { /* mark results non-authoritative */ }","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Recognise that App-V binaries cannot be resolved accurately by Dependencies - prefer analysing the de-virtualised payload.","Document this limitation for end users so the disclaimer is expected, not surprising."],"tags":["gui","app-v","disclaimer","known-limitation"],"backgroundTag":null,"analyzedSha":"1997a40000b77bd3326cbc33672a7b9f78bb23f3","analyzedAt":"2026-08-13T18:14:41.696Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}