Bonjour à tous,
J'ai une application full .Net, je livre un setup MSI (targetplatform x86) créé avec l'assistant de visual studio.
Avec ce setup, lors de l'installe je stocke le path d'installation dans HK_LOCAL_MACHINE/SOFTWARE/XXX/YYY.
Sous 64 bit, il s'installe dans /Program files (x86)/.
Jusque là pas de probleme.
Mais dans regedit il set la clé dans:
HK_LOCAL_MACHINE/SOFTWARE/Wow6432node/XXX/YYY.
Aiie...
Depuis une DLL 'proxy', j'essaye de récupérer le path d'installe de la manière suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\XXX\YYY"); string s = Convert.ToString(key.GetValue(@"InstallPath", "")); key.Close(); return s;
Mais sous 64 bit key est null...
Car Software\XXX\YYY n'existe pas, en effet il se trouve dans Software\Wow6432node\XXX\YYY
Comment gérer ce cas de figure "proprement" ?
Je croyais que Windows géré ca tout seul, il faisait croire aux application 32 bit que Software se trouve dans wow6432node ? // à confirmer
Merci de votre aide
Partager