c# .net special-folders program-files

c# - Cómo obtener la ruta de los archivos de programa independientemente de la arquitectura de la máquina de destino



.net special-folders (1)

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

Podría simplemente codificar en el directorio excepto si el usuario estuviera 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 la carpeta Program Files (x86) en una máquina Windows de 64 bits.


System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles) devuelve "c:/Program Files" en una máquina de 64 bits, a menos que el código esté creado para apuntar a x86, en cuyo caso devuelve "C:/Program Files (x86)" , así que supongo que eso funcionaría para ti.