Как получить путь к программным файлам независимо от архитектуры целевой машины
Я программирую в С#/. 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.
Ответы
Ответ 1
System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles)
возвращает "c:\Program Files"
на 64-разрядную машину, если только код не создан для целевой x86, и в этом случае он возвращает "C:\Program Files (x86)"
, поэтому, я думаю, это сработает для вас.