2010-11-24 6 views
4

J'utilise un script NSIS pour générer le programme d'installation de Windows pour mon projet Java. Dans cet installateur, je veux vérifier si l'ordinateur a la bonne version de JRE avant de continuer.NSIS: Impossible d'obtenir la version JRE du registre sous Windows 7 64 bits

Ceci est mon extrait de code pour obtenir la version JRE: -

ReadRegStr $1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion" 

# display $1 value for testing purpose 
MessageBox MB_OK "Version: $1" 

Ce code fonctionne très bien sous Windows XP, mais je ne peux pas le faire fonctionner sous Windows 7 64 bits ... la version le numéro est toujours vide. Je vérifie le registre, et je suis sûr que le chemin est correct et que "CurrentVersion" a une valeur. Est-ce que quelqu'un peut me dire ce que je fais mal ici?

Merci beaucoup!

Répondre

2

Le programme d'installation 32 bits et le bit d'exécution 64 bits ou vice versa? Dans ce cas, vous pourriez être redirigé vers différents nœuds de registre (dans HKLM/Software ou HKLM/Software/Wow6432Node).

1

Le programme d'installation de NSIS est un programme 32 bits qui voit une partie différente du registre. Cet article de base de connaissances explique la différence dans le registre sur Windows 64 bits.

http://support.microsoft.com/kb/305097

Je ne suis pas tout à fait sûr si vous pouvez accéder à la clé que vous avez besoin d'une application 32 bits ou non.

Questions connexes