Функция ниже возвратит каталог x86 Program Files
во всех этих трех конфигурациях Windows:
static string ProgramFilesx86()
{
if( 8 == IntPtr.Size
|| (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))))
{
return Environment.GetEnvironmentVariable("ProgramFiles(x86)");
}
return Environment.GetEnvironmentVariable("ProgramFiles");
}
Обратите внимание, однако, что ProgramFiles(x86)
переменная среды только доступна, если Ваше приложение работает 64-разрядный.
, Если Ваше приложение работает 32-разрядный, можно просто использовать ProgramFiles
переменная среды, значение которой на самом деле будет "Программными файлами (x86)".
Один путь состоял бы в том, чтобы искать "ProgramFiles (x86)" переменная среды:
String x86folder = Environment.GetEnvironmentVariable("ProgramFiles(x86)");