Get all the Squirrel-aware apps in a directory

This commit is contained in:
Paul Betts
2014-08-19 12:43:32 -07:00
parent eaed21a41e
commit 1948c51a86

View File

@@ -12,6 +12,17 @@ namespace Squirrel
{
static class SquirrelAwareExecutableDetector
{
public static List<string> GetAllSquirrelAwareApps(string directory, int minimumVersion = 1)
{
var di = new DirectoryInfo(directory);
return di.EnumerateFiles()
.Where(x => x.Name.EndsWith(".exe", StringComparison.OrdinalIgnoreCase))
.Select(x => x.FullName)
.Where(x => (GetPESquirrelAwareVersion(x) ?? -1) >= minimumVersion)
.ToList();
}
public static int? GetPESquirrelAwareVersion(string executable)
{
if (!File.Exists(executable)) return null;