Sto riscontrando uno strano comportamento con un modulo .NET che accede a Windows Registry utilizzando la classe RegistryKey.Accesso al registro di Windows tramite .NET?
Ad esempio, ho scritto un modulo .NET, testcom.dll, che accede al registro. Questo file testcom.dll viene utilizzato sia da un'applicazione nativa a 32 bit che da un'applicazione a 64 bit. Il mio requisito è quello di ottenere il valore di un regkey (il percorso è HKEY_LOCAL_MACHINE\SOFTWARE\Test\MyParameters
e il nome della chiave è Age
). Questa chiave "Age" sarà nel registro a 32 bit su macchine a 32 bit e registro a 64 bit (non WOW64) su macchine a 64 bit.
Su una macchina a 64 bit, quando un'applicazione a 32 bit utilizza testcom.dll, la chiave "Età" viene cercata nel registro WOW64. Quando un'applicazione a 64 bit utilizza testcom.dll, la chiave "Età" viene cercata nel registro a 64 bit.
Il mio requisito è quello di leggere la chiave nel registro a 64 bit su macchine a 64 bit qualunque sia l'applicazione utilizza il file testcom.dll. Come posso fare questo?
Questo è dispari. Quando una volta scrissi un'app che cercava chiavi e valori nel registro, dovevo modificare manualmente il percorso per le chiavi delle applicazioni a 32 bit quando si eseguiva su un sistema operativo a 64 bit. Potresti postare qualche codice forse? Per vedere se il tuo metodo di caricamento delle chiavi è diverso dal mio? –
Anche l'applicazione era un'app a 32 bit. Di default non ha cercato WOW64. –