From 1948c51a86c45930b23ac883fe1655b024caae73 Mon Sep 17 00:00:00 2001 From: Paul Betts Date: Tue, 19 Aug 2014 12:43:32 -0700 Subject: [PATCH] Get all the Squirrel-aware apps in a directory --- src/Squirrel/SquirrelAwareExecutableDetector.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/Squirrel/SquirrelAwareExecutableDetector.cs b/src/Squirrel/SquirrelAwareExecutableDetector.cs index a99d8d22..f0ce48e1 100644 --- a/src/Squirrel/SquirrelAwareExecutableDetector.cs +++ b/src/Squirrel/SquirrelAwareExecutableDetector.cs @@ -12,6 +12,17 @@ namespace Squirrel { static class SquirrelAwareExecutableDetector { + public static List 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;