Вы можете использовать этот код для рекурсивного поиска всех exe-файлов в каталоге
DirectoryInfo dirInfo = new DirectoryInfo(@"C:\Program Files");
var exeFiles = dirInfo.EnumerateFiles("*.exe", SearchOption.AllDirectories);
foreach ( var exeFile in exeFiles )
{
Console.WriteLine( exeFile );
}
В зависимости от вашего определения исполняемого файла, вам может потребоваться также *.com
, *.bat
и т. Д. И т. Д.способ отличить установщик exe от обычного exe-файла.Возможно, вам придется применить некоторые эвристики