using System.IO; using System.Linq; using Microsoft.Win32; namespace Dotnet.Cli.Msi.Tests { class Utils { internal static bool ExistsOnPath(string fileName) { var paths = GetCurrentPathEnvironmentVariable(); return paths .Split(';') .Any(path => File.Exists(Path.Combine(path, fileName))); } internal static string GetCurrentPathEnvironmentVariable() { var hklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32); var regKey = hklm.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\Session Manager\Environment", false); return (string)regKey.GetValue("Path"); } } }