2010-11-24 7 views
0

Nous nous préparons à utiliser Windows x64 pour nos installations, mais nous sommes confrontés à un problème de stockage des paramètres de l'application (utilisateur et machines). Actuellement, nous les stockons dans le registre Windows - ruches HKLM et HKCU. Le problème est qu'il peut y avoir à la fois des applications x86 et des applications x64, et les applications x86 ne peuvent pas accéder au registre 64 bits. Nous pourrions stocker tout dans le registre 32 bits (visible sous wow64 dans l'application x64). Ou nous pouvons stocker les paramètres dans une base de données compacte de fichiers -sqlite ou sql server pour éviter les risques de concurrence.Où stocker les paramètres d'application partagés entre x86 et x64

Avez-vous un conseil? Si oui, qu'est ce que c'est? :)

Répondre

1

Les applications 32 bits peuvent accéder au registre 64 bits. Voir l'argument REGSAM des API comme RegOpenKeyEx

Notez également que seulement certaines zones du registre sont partitionnées, vous n'aurez donc rien à faire, en fonction de l'emplacement de stockage.

Pour savoir si vous devez utiliser le registre ou passer à quelque chose de complètement différent, c'est une question assez ouverte. Si vous êtes satisfait du registre autre que ce problème avec 64 bits, alors je dirais qu'il faut s'en tenir à cela et utiliser simplement les arguments REGSAM pour pointer explicitement vers le registre 64 bits si et comme requis. (Ou vice versa, faites en sorte que vos applications 64 bits s'affichent dans le registre 32 bits.)

Questions connexes