Question

Pour commencer, je vais dire que j'ai lu le message ici et je suis toujours des problèmes.

Je suis en train de créer une image CE6 avec un registre à base de ruche qui enregistre en fait des résultats grâce à un redémarrage.

  • Je l'ai fait tic tac les paramètres de la ruche dans les articles du catalogue.
  • Dans Common.reg, je me suis fixé l'emplacement de la ruche ([HKEY_LOCAL_MACHINE \ initialisation \ bootvars] « SystemHive ») à « Disque dur \ Registry » (Note: le flash apparaît comme un dispositif appelé « Disque dur « )
  • Dans Common.reg, je l'ai mis « Flags » = dword: 3 au même endroit pour obtenir le gestionnaire de périphériques chargé avec le gestionnaire de stockage
  • Je l'ai vérifié que ces paramètres sont enveloppés dans "; HIVE BOOT SECTION"

est où il commence à tomber. Tout compiles bien, mais sur le système cible, quand elle démarre, je reçois:

  • Un répertoire, appelé « disque dur » où un registre est mis
  • Un appareil, le nom appelé "Hard Disk2" où le flash est permanent
  • Toutes les modifications apportées au registre sont perdus sur un redémarrage

Qu'est-ce que je manque encore? Pourquoi le registre ne sont pas stockées sur le flash?

strangly, si je crée un fichier aléatoire / répertoire dans le répertoire de registre, il est toujours là après un redémarrage, donc même si ce répertoire est pas sur l'autre partition (où j'ai essayé de le mettre), il ne semble être permanente. Si elle est permanente, pourquoi ne pas les paramètres de registre save (soit des adresses IP carte Ethernet?)

Je ne suis pas à l'aide des profils spécifiques, donc je suis à une perte à ce que la dernière étape est de rendre ce registre ruche un magasin permanent.

Était-ce utile?

La solution

D'abord, je l'espère, vous ne changez pas directement Common.reg. Vous ne devriez jamais modifier le code du public . Si vous souhaitez modifier les clés de registre public dont vous avez besoin de les mettre dans votre Project.reg ou Platform.reg et ils remplacer les paramètres publics.

SystemHive doit être réglé sur le nom du répertoire dans lequel vous voulez stocker les fichiers ruche sans le nom du périphérique . Dans ton cas: "SystemHive"="Registry\\system.hv"
Citation de la source de MSDN :

  

ne comprennent pas le nom du système de fichiers sur lequel le fichier est stocké. Le système détermine quel système de fichiers à utiliser en fonction d'autres paramètres du registre.


Mise à jour concernant votre deuxième commentaire ( la source ):

  

Si cette valeur est présente sous HKEY_LOCAL_MACHINE, il indique que la ruche système a été restauré avec succès. Si elle est présente sous HKEY_CURRENT_USER, il indique que la ruche utilisateur a été restauré avec succès.

Êtes-vous le rinçage des changements que vous faites?
Assurez-vous que vous ne disposez pas d'une mise en œuvre de wierd IOCTL_HAL_GET_HIVE_CLEAN_FLAG ( la source ) -. votre système est peut-être le retour d'une vraie valeur pour nettoyer le registre du système chaque démarrage


Vous pouvez ajouter un fil qui périodiquement vider votre base de registre (bien que je vous recommande de l'exclure et de laisser chaque chasse d'application de ses propres modifications) - PRJ_ENABLE_REGFLUSH_THREAD

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top