Salvataggio nel Registro di sistema rispetto a CustomFile [chiuso]

5

Ho usato il solito metodo My.Settings... quando si trattava di salvare le impostazioni per il mio programma, ma mi stavo chiedendo, se volevo salvare le impostazioni del programma nel registro e caricare quelle impostazioni, ci sono dei vantaggi quando si confrontano con il salvataggio delle impostazioni in un file scritto personalizzato e il caricamento di tali impostazioni dal file.

Quale preferiresti e perché?

    
posta Zer0 09.07.2015 - 12:48
fonte

3 risposte

4

Un buon punto di partenza è l'articolo di Jeff Atwood: Il registro di Windows era una buona idea ?

Fornisce molti validi motivi per non utilizzare il registro. Tra questi:

  • The registry is a single point of failure. That's why every single registry editing tip you'll ever find starts with a big fat screaming disclaimer about how you can break your computer with regedit.
  • The registry is opaque and binary. As much as I dislike the angle bracket tax, at least XML config files are reasonably human-readable, and they allow as many comments as you see fit.
  • The registry has to be in sync with the filesystem. Delete an application without "uninstalling" it and you're left with stale registry cruft. Or if an app has a poorly written uninstaller. The filesystem is no longer the statement of record-- it has to be kept in sync with the registry somehow. It's a total violation of the DRY principle.
  • The registry is monolithic. Let's say you wanted to move an application to a different path on your machine, or even to a different machine altogether. Good luck extracting the relevant settings for that one particular application from the giant registry tarball. A given application typically has dozens of settings strewn all over the registry.

Probabilmente le uniche applicazioni che potrebbero richiedere il registro sono:

  • Applicazioni COM. Senza un repository centrale sarebbe molto più difficile ottenere l'ID della classe ( CLSID )
  • applicazioni su larga scala che hanno bisogno di amministrare la configurazione a livello di rete (la memorizzazione dei dati nel registro offre la possibilità di utilizzare Modelli amministrativi in un criterio di gruppo ).
risposta data 09.07.2015 - 14:41
fonte
2

Suggerirei che il registro di Windows sia il migliore per Windows con cui giocare.

  • Parti di esso sono inaccessibili agli utenti regolari.
  • Parti di esso sono inaccessibili a determinati tipi di applicazioni (processi a 32 bit in esecuzione su versioni a 64 bit di Windows).
  • È un meccanismo di archiviazione completamente proprietario, che può cambiare, senza preavviso, con patch di aggiornamento o di sicurezza.
  • Non è facile eseguire il backup o il ripristino di parti del registro; è davvero tutto o niente.
  • I valori in esso contenuti non sono portatili; sono fissi su una macchina particolare.

Confrontalo con un semplice file di testo contenuto nella directory del profilo di roaming dell'utente:

Sono accessibili all'utente (senza complicazioni di sicurezza o UAC), il formato e il contenuto di quel file sono completamente sotto il controllo tuo , vengono acquisiti da un normale backup di file system, può essere trasportato, senza soluzione di continuità, su ogni macchina su cui l'utente si collega ed è meno probabile che si perda se è necessario reinstallare il sistema operativo.

    
risposta data 09.07.2015 - 14:00
fonte
1

Nel lontano passato, avrei suggerito di usare il registro (al contrario di un file INI). In questi giorni, mi prendo in considerazione l'archiviazione basata su file di impostazioni e configurazione. Le parti modificabili dall'utente delle impostazioni devono essere mantenute utilizzando il spazio di archiviazione isolato API.

    
risposta data 09.07.2015 - 20:50
fonte

Leggi altre domande sui tag