Я использую:
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. Есть ли способ программно вернуть путь к программным файлам x86 без жесткого подключения «C: \ Program Files (x86)»?