private static string GetPath( string subName, string keyName )
{
try
{
string keyString;
if( Core.Is64Bit )
keyString = @"SOFTWARE\Wow6432Node\{0}";
else
keyString = @"SOFTWARE\{0}";
using( RegistryKey key = Registry.LocalMachine.OpenSubKey( String.Format( keyString, subName ) ) )
{
if( key == null )
return null;
string v = key.GetValue( keyName ) as string;
if( String.IsNullOrEmpty( v ) )
return null;
if ( keyName == "InstallDir" )
v = v + @"\";
v = Path.GetDirectoryName( v );
if ( String.IsNullOrEmpty( v ) )
return null;
return v;
}
}
catch
{
return null;
}
}
}