private string _getWalkerPath(BitnessType bitness)
        {
            var path = Path.Combine(DependencyWalkerRoot, bitness.ToString(), _dependencyExecutable);

            if (File.Exists(path) == false)
            {
                throw new InvalidOperationException($"No dependency walker found at path {path}. Is this bitness supported?");
            }

            return(path);
        }
        public IList <string> GetMissingDependencies(string filename, BitnessType bitness)
        {
            var dependencyWalkerPath = _getWalkerPath(bitness);

            var tempPath = Path.Combine(Path.GetTempPath(), "output.csv");

            var p = Process.Start(dependencyWalkerPath, string.Format(_dependsFlags, tempPath, filename));

            p.WaitForExit(10000);


            // Do not evaluate exit code, rely on output file

            if (File.Exists(tempPath) == false)
            {
                throw new InvalidOperationException($"Dependency walker exited with {p.ExitCode} without producing an output file. File called: {filename}");
            }


            var lines = File.ReadAllLines(tempPath).Where(FilterMissingDependencies).ToList();

            // Get only the names and remove quotes
            return(lines.Select(l => l.Split(',')[1].Trim('"')).ToList());
        }