Como obter o caminho dos Arquivos de Programas, independentemente da arquitetura da máquina de destino

Estou programando em c # / .net. Quero poder retornar o diretório Arquivos de Programas da máquina de destino, independentemente da arquitetura da máquina de destino. Para esclarecer, quero que ele retorneC (or whatever drive the OS is on):/Program Files não importa qual seja a versão deles do Windows.

Eu poderia apenas codificar no diretório, exceto se o usuário estivesse executando o Windows que não está instalado na unidade C: ele não funcionaria.

eu encontrei

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

mas acho que retorna oProgram Files (x86) pasta em uma máquina Windows de 64 bits.

questionAnswers(1)

yourAnswerToTheQuestion