Estou a usar:
FileInfo(
System.Environment.GetFolderPath(
System.Environment.SpecialFolder.ProgramFiles)
+ @"\MyInstalledApp"
Para determinar se um programa é detectado na máquina de um usuário (não é o ideal, mas o programa que estou procurando é um kludge antigo correto de um aplicativo MS-DOS, e não consegui pensar em outro método).
No Windows XP e nas versões de 32 bits do Windows Vista, isso funciona bem. No entanto, no Windows Vista x64, o código retorna a pasta Arquivos de Programas x64, enquanto o aplicativo está instalado nos Arquivos de Programas x86. Existe uma maneira de retornar programaticamente o caminho para os Arquivos de Programas x86 sem cabeamento "C: \ Arquivos de Programas (x86)"?