Я использую:
FileInfo(
System.Environment.GetFolderPath(
System.Environment.SpecialFolder.ProgramFiles)
+ @"\MyInstalledApp"
Чтобы определить, обнаружена ли программа на компьютере пользователя (это не идеально, но программа, которую я ищу, является правильным старым приложением приложения MS-DOS, и я не мог придумать другой метод).
В Windows XP и 32-разрядных версиях Windows Vista это работает нормально. Однако в x64 Windows Vista код возвращает папку Program Files x64, а приложение установлено в Program Files x86. Есть ли способ программно вернуть путь к Program Files x86 без жесткого подключения "C: \ Program Files (x86)"?