У меня есть приложение, скомпилированное в режиме x86 (в С#), из которого мне нужно получить доступ к определенному файлу, который существует в 64-разрядной папке программных файлов (конечно, 64-разрядной Windows).
Я не хочу просто hardcode C:\Program Files
как строку в приложении, потому что несколько целевых компьютеров могут иметь Windows, установленные на другом диске, или могут быть на других языках.
Проблема, с которой я сталкиваюсь, заключается в том, что использование Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)
возвращает х86-вкус вместо желаемого каталога, если я не скомпилирую свою программу в 64-разрядном режиме. Из любопытства, что я могу сделать, чтобы не делать этого?