Una delle app su cui lavoro memorizza la stringa di connessione al database nel registro. Ho cambiato il valore (tramite regedit) per puntare a un DB diverso. La mia applicazione stava ancora raccogliendo il vecchio valore. Abbastanza sicuro di aver fatto qualcosa di sbagliato, quindi ho controllato il codice, riavviato, cercato nel registro per verificare che non ci fosse un'altra chiave con lo stesso nome. Nessuna gioia. Ho persino cancellato la chiave, riavviata e la mia app stava ancora leggendo il valore.
Quindi ho usato PowerShell per elencare i valori (tramite Get-ItemProperty) e che mostrava anche il vecchio valore. Usato Set-ItemProperty per aggiornare il valore, e quindi il mio codice lo ha preso bene. Tuttavia, regedit mostra ancora i vecchi dati. Persino un altro sviluppatore e un ingegnere di sistema hanno dato un'occhiata a un controllo di integrità. Nessuna idea
Qualche idea sul perché regedit non sembra mostrare le stesse informazioni di Get-ItemProperty?
HKLM\Software
posizione ed è un'applicazione a 64 bit? Se è un'applicazione a 32 bit, tenterà automaticamente di leggere il registro a 32 bit HKLM\Software
. Se il problema è quello che penso che sia allora Powershell più probabilmente lo ha gestito automaticamente e ti è stato nascosto? Carica una versione a 32 bit del sistema operativo in una macchina virtuale, ripeti quello che hai fatto, vengo dalla scommessa di Keltari che non sarai in grado di replicare il problema.