2011-10-20 4 views
4

J'ai installé un logiciel Foxit Reader (lecteur PDF)entrée de Registre est différent dans Windows 7 64 bits

Mes application vérifie si ce logiciel a été installé ou non en cochant l'entrée existe suivante ou non.

HKEY_LOCAL_MACHINE \ SOFTWARE \ Foxit Software \ Foxit Reader

Il seeems avoir bien fonctionné dans toutes les fenêtres OS sauf Windows 7 64 bits. En enquêtant, je trouve que l'entrée de registre pour ce logiciel est située dans un endroit différent. ci-dessous est l'emplacement.

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Foxit Software

Comment puis-je vérifier si Foxit Reader est installé ou pas correctement et il devrait fonctionner dans toutes les versions de Windows OS.

Merci. Toute aide très appréciée. :)

Répondre

4

EDIT:

Wow6432Node est où vivent les 32 entrées de bits. 64 bits est chez HKLM \ Software. En .net 4.0, la capacité a été ajoutée pour lire tehm facilement.

Voir par exemple ce code:

http://www.rhyous.com/2011/01/24/how-read-the-64-bit-registry-from-a-32-bit-application-or-vice-versa/

Sans 4.0, vous devrez impport advapi32.dll et utiliser RegOpenKeyEx, RegCloseKey et RegQueryValueEx.

+0

Merci, je vais regarder dedans. – Lamps

+0

Wow6432Node est l'emplacement des entrées de registre _32-bit_. Les entrées 64 bits sont là où vous vous attendez: 'HKLM \ Software'. Les programmes 32 bits, comme Foxit peuvent être stockés sous 'HKLM \ Software \ Wow6432Node', sauf si le programme demande explicitement la clé sans virtualisation. – Joshua

+0

Merci - en arrière - édité. – bryanmac

0

Je vérifierais probablement les deux emplacements. Vous pourriez spécifiquement regarder dans l'emplacement de registre 32 bits, mais alors vous seriez incapable de détecter une version 64 bits de Foxit (devrait-il jamais être créé).

Questions connexes