Подтвердить что ты не робот

Как получить путь к программным файлам независимо от архитектуры целевой машины

Я программирую в С#/. NET. Я хочу, чтобы иметь возможность вернуть каталог программных файлов с целевой машины независимо от архитектуры целевой машины. Чтобы уточнить, я хочу, чтобы он возвращал C (or whatever drive the OS is on):/Program Files независимо от того, какой биттой их версия Windows.

Я мог бы просто жестко закодировать в каталоге, кроме случаев, когда пользователь запускал Windows, которая не установлена ​​на диске C: это не сработало.

Я нашел

FileInfo(System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles) 

но я думаю, что он возвращает папку Program Files (x86) на 64-битной машине Windows.

4b9b3361

Ответ 1

System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles) возвращает "c:\Program Files" на 64-разрядную машину, если только код не создан для целевой x86, и в этом случае он возвращает "C:\Program Files (x86)", поэтому, я думаю, это сработает для вас.