2010-03-29 12 views
7

Consultas Lo intenté: ExpandEnvironmentStrings("%COMMONPROGRAMFILES%"), GetSpecialPath(CSIDL_PROGRAM_FILES_COMMON).WOW64: obtener x64% CommonProgramFiles% del proceso de 32 bits

Todos resuelven (típicamente) c:\\Program Files (x86)\\Common Files desde mi aplicación de 32 bits. Necesito verificar una versión de archivo instalada (típicamente) bajo c:\\Program Files\\Common Files de una aplicación de 64 bits.

Respuesta

15

En los sistemas operativos de 64 bits CommonProgramW6432, el medio ambiente ProgramW6432 puntos variables en C: \ archivos de programa. La lista completa de una aplicación de 32 bits en una versión en Inglés de Ventanas:

  • de programa => c: \ archivos de programa (x86)
  • ProgramFiles (x86) => c: \ Archivos de programa (x86)
  • ProgramW6432 => c: \ archivos de programa
  • CommonProgramFiles => c: \ archivos de programa (x86) \ archivos comunes
  • CommonProgramFiles (x 86) => c: \ archivos de programa (x86) \ archivos comunes
  • CommonProgramW6432 => c: \ archivos de programa \ archivos comunes

Recordatorio: esa carpeta no debe contener nada de interés para un programa de 32 bits. Técnicamente. Tenga cuidado con el redirector del sistema de archivos, redirigirá las solicitudes de archivos desde c: \ archivos de programa a c: \ archivos de programa (x86). Tendría que usar Wow64DisableWow64FsRedirection() si realmente quisiera acceder a los archivos en ese directorio.

+0

Estoy comprobando que ya está instalada una aplicación requerida (64 bits). – peterchen

-1
static string ProgramFilesx86() 
     { 
      if (8 == IntPtr.Size 
       || (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432")))) 
      { 
       return Environment.GetEnvironmentVariable("ProgramFiles(x86)"); 
      } 

      return Environment.GetEnvironmentVariable("ProgramFiles"); 
     } 

¿Esto es lo que estás necesitando?

+0

Eso seguro no se parece a C++. Tal vez C++/CLI, pero apostaría C# dado una suposición. –

+0

Podría haber jurado que vi C# en las etiquetas. Lo siento. –

5

%%

+0

¡Gracias! De alguna manera me perdí eso en la lista de variables env. – peterchen

Cuestiones relacionadas