¿Cómo obtener la ruta de los archivos de programa independientemente de la arquitectura de la máquina de destino?

Estoy programando en C # /. NET. Quiero poder devolver el directorio de Archivos de programa desde la máquina de destino sin importar la arquitectura de la máquina de destino. Para aclarar, quiero que regreseC (or whatever drive the OS is on):/Program Files No importa qué tan bitness sea su versión de Windows.

Simplemente podría codificar en el directorio, excepto si el usuario estaba ejecutando Windows que no está instalado en la unidad C: no funcionaría.

encontré

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

pero creo que devuelve elProgram Files (x86) carpeta en una máquina con Windows de 64 bits.

Respuestas a la pregunta(1)

Su respuesta a la pregunta