diff --git a/ICD.Common.Utils/Extensions/RegistryExtensions.cs b/ICD.Common.Utils/Extensions/RegistryExtensions.cs
new file mode 100644
index 0000000..45a176d
--- /dev/null
+++ b/ICD.Common.Utils/Extensions/RegistryExtensions.cs
@@ -0,0 +1,25 @@
+#if !SIMPLSHARP
+using System.Collections.Generic;
+using System.Linq;
+using ICD.Common.Properties;
+using Microsoft.Win32;
+
+namespace ICD.Common.Utils.Extensions
+{
+ public static class RegistryExtensions
+ {
+ ///
+ /// Opens subkeys for the given registry key.
+ ///
+ ///
+ ///
+ public static IEnumerable OpenSubKeys([NotNull] this RegistryKey extends)
+ {
+ return extends.GetSubKeyNames()
+ .Select(extends.OpenSubKey)
+ .Where(k => k != null);
+ }
+ }
+}
+
+#endif
diff --git a/ICD.Common.Utils/ICD.Common.Utils_SimplSharp.csproj b/ICD.Common.Utils/ICD.Common.Utils_SimplSharp.csproj
index a224f89..6f1653f 100644
--- a/ICD.Common.Utils/ICD.Common.Utils_SimplSharp.csproj
+++ b/ICD.Common.Utils/ICD.Common.Utils_SimplSharp.csproj
@@ -115,6 +115,7 @@
PreserveNewest
+