PDA

View Full Version : Erreur reconnaissance commentaire reg file


manvantara
02-Jun-2011, 05:33 AM
Dans la lecture pour comparaison des fichiers registre
il y'a un probleme de reconnaissance des commentaires exemple:


[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Win dowsMediaPlayer]
"GroupPrivacyAcceptance"=dword:00000001 ; Commentaire

ici le commentaire est reconnue et pas d'erreur d'analyse, mais pour :

; Commentaire
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Win dowsMediaPlayer]
"GroupPrivacyAcceptance"=dword:00000001

Ici le commentaire n'est reconuue et indique une erreur d'analyse à la ligne
x et 1er caractere


J'ai essayer toutes les modifs dans "Format fichiers" et ça ne donne
rien.

Alors que faire ?

SVP

mdes
02-Jun-2011, 06:15 AM
Bonjour Manvantara,

Je ne parviens pas à reproduire ton erreur. Lorsque le fichier suivant est lu dans BC3 comme "Dumps de Registre", je n'ai aucune erreur. J'ai créé ce fichier Test.reg :
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Win dowsMediaPlayer]
"GroupPrivacyAcceptance"=dword:00000001 ; Commentaire

; Commentaire
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Win dowsMediaPlayer]
"GroupPrivacyAcceptance"=dword:00000001(1) Voudrais-tu indiquer à quel moment est affichée l'erreur d'analyse, et quelle est-elle exactement.

(2) La règle de format de fichier associée comprend-t-elle toujours bienCommentaire=Texte à partir de ; jusqu'à fin de ligne ?

Michel.

manvantara
02-Jun-2011, 08:54 AM
Comment faire pour inserer deux images et un fichier reg ici ?

manvantara
02-Jun-2011, 09:06 AM
Image d'erreur :
http://www.scootersoftware.com/vbulletin/attachment.php?attachmentid=781&stc=1&d=1307026557

Image du Format
http://www.scootersoftware.com/vbulletin/attachment.php?attachmentid=782&stc=1&d=1307027007


Windows Registry Editor Version 5.00


; Media Player EULA Autoaccept (to prevent first-run on XPSP2)

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Win dowsMediaPlayer]
"GroupPrivacyAcceptance"=dword:00000001


Version Beyond = 3.2.4 build 13298

Si j'ouvre le fichier Modifications, il n'indique aucune erreur.
Sauf quand je demande à le comparer avec un autre fichier ou avec
le registre du systeme.

Merci.

mdes
02-Jun-2011, 10:32 AM
OK, je reproduis le problème; apparemment, il suffit qu'il y aie un commentaire avant la 1ère clé pour avoir cette erreur d'analyse.

Je remonte le problème immédiatement.

Michel.

Aaron
02-Jun-2011, 04:29 PM
Hello,

Could you go into more detail on how this file was generated? Was it a partial export from your registry?

What caused the ";" to appear directly below "Windows Registry Editor Version 5.00"?

--translate.google.com :

Bonjour,

Pourriez-vous nous donner plus de détails sur la façon dont ce fichier a été généré ? Était-ce une exportation partielle à partir de votre registre?

Qu'est-ce qui a causé le ";" à apparaître directement sous "Windows Registry Editor Version 5.00"?

manvantara
04-Jun-2011, 04:30 AM
Bonjour

Le probleme n'est pas de comment j'ai génerer ce fichier mais
pourquoi beyong n'accepte pas un commentaire au debut.

L'Algorithme d'analyse (parsing reg file) doit être modifiée; pour la simple
raison que ce fichier est accepté par windows et d'autres editeur de
registre et d'autre comparateur et nom par Beyong.

Imagine avec les dizaines de fichiers qu'on peut avoir avec des
centaines de lignes de commentaires au debut du fichier qui chose normale
pour rapelle du contenu du regsitre pour l'utilisateur.

Merci.

mdes
04-Jun-2011, 05:11 AM
Aaron,

What about this point of view?
Hello

The problem is not how I generated this file but why BC3 does not accept comments at file beginning.

The analysis algorithm (parsing reg file) must be amended, for the simple reason that this file is accepted by Windows and other Registry editor and "comparer" and not by BC3.

Imagine the tens of files you may have with hundreds of comments lines at the file beginning to recall the purpose of this "patch" file to the user (from my point of view, this way should be taken for granted).

Thank you.
Michel.

manvantara
04-Jun-2011, 07:39 AM
Je ne comprends pas la réponse.

1- J'ecris un nouveau fichier reg dans notepad exemple, je commence:
Windows Registry Editor Version 5.00

; j'ajoute un commentaire
[HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\P references]
"Balance"=dword:00000000

2- j'enregistre le fichier comme exemple :test.reg

3- je l'ouvre dans windows avec regedit => it's OK
4- je l'ouvre avec un autre editeur pour comparaison => it's OK
5- je l'ouvre avec beyong pour modification => It's OK
6- je l'ouvre avec beyong pour comparaison => Erreur

Je comprend d'ici que beyong utilise deux manières pour traiter les
fichiers registres: Dans Modifications la ligne commentaire est
bien reconnue en tant que remarque mais dans Comparaison ce
n'est pas le cas.

Donc le menu Outils/Format Fichiers ne sert que pour Modification et
non pour la comparaison d'ou sa ne sert à rien de faire des modifications
dans "format fichiers".

Je suppose que l'analyseur utilisé ne traite pas les fichiers qui
ont des commentaires au debut du fichier. Alors ou bien l'algorithme
est celui de beyong et donc ça ne pose aucun problème pour vous
et vous saurer ou ce situe le problème dans votre algorithme.
Ou bien Beyong se base sur un analyseur externe et là sa devient
un problème pour corriger cela.

Je pense qu'il faut utiliser un algorithme spécifique au fichier registre et là
vous pouvez offrire plus d'options dans l'analyse comme
permettre de trouver les key en double, etc...

Merci.

mdes
04-Jun-2011, 10:55 AM
Effectivement, il y a 2 types de comparaison :


la "Comparaison de Textes" basée sur des règles définies dans les formats de fichier, et
la "Comparaison de Registres" avec un algorithme propre à Beyond Compare 3.Note qu'au début, je t'avais demandé si la règle (pour les commentaires) associée au format de fichier était toujours la règle standard parce que je ne savais pas encore si tu employais le type de comparaison 1. ou 2.... surtout qu'en plus je parlais de "Dump de registre". Désolé de ne pas avoir été plus rigoureux et plus clair :(

Dans tous les cas, on peux changer de type de comparaison via le menu Session > Comparer des fichiers en utilisant > Comparaison de Textes/Registres.

La "Comparaison de Registres" offre beaucoup d'avantages (tri des clé, comparaison directe de la base de registre de Windows, saisie directe suivant le type de données,...).

Dans ton cas, la "Comparaison de Textes" avec les règles des fichiers "Dumps de Registre" définies dans les "Formats de fichier" du menu Outils, semble meilleure, mais tu ne disposeras pas du tri des clés (ou alors sans les commentaires).

Pour BC2, j'avais écrit un script qui permettait de trier les clés de registre en prenant en compte les commentaires (cf. Additional File Viewer Rules for Beyond Compare 2 (http://www.scootersoftware.com/download.php?zz=kb_morerules)), mais je ne l'ai pas adaptée à BC3.

manvantara
04-Jun-2011, 02:13 PM
J'en suis heureux, si vous avez votre propre algorithme pour l'analyse
registre donc :

1- Le problème citée plus haut être réglée facilement d'ou j'attend
une mise à jour de beyond.
2- Quelque petite chose qui manque encore, je me permet de vous les citées
et à vous de voir. La particularité de beyond et son interface trés
intuitifes, en comprend facilement son utilisation (je suis informaticien
et je sais que ce n'est pas facile de réussir une interface parlant,
d'ailleurs beaucoup d'autres concurrents de beyond je ne les utilises
que pour certains astuces qui sont nécessaires dans la comparaison
de fichier registre; mais je ne les utlises jamais ni pour l'edition ni
pour une comparaison où je considère que beyond est beaucoup
plus professionnel et plus sûre dans ces comparaison. Ca C'est un
constat VRAI, il n'y a rien à dire, bravo pour le logiciel.

a- Besoin de faire un tri sur les clées dupliquées.
En effet, comme beaucoup utilisateurs, il nous arrives de rassembler
plusieurs fichiers registres; le problème est que il y'a beaucoup
de clées qui sont dupliquées mais vue la taille du fichier registre
plusieurs centaines voir milliers de lignes (le mien atteint 38725 lignes)
on ne peut les voires tous.

Comme beyond il à son propre algorithme qui transforme je suppose
le fichier registre en un arbre binaire; il est possible donc de pouvoir
détectées des occurrences ou clées redondantes et leur emplacements
pour qu'on puisse les corrigées.

b- De pouvoir corrigée les erreurs directement sur beyond au lieu
de données seulement le n° de ligne et n° de colonne.

c- Après avoir chargées un fichier registre et avant et ou après
comparaison avec d'autres de pouvoir exporter les clées des fichiers
registres pas seuelements ceux de l'ordinateurs et aussi
d'exporter par filtrage, identiques, differents etc....
(Comme Windiff )

d- En dernier et c'est la plus importantes, pour celà j'imagine un exemple:
Soit une personne qui à ecrits un long fichiers registres (TEST); il l'importe
dans windows. Maintenant il souhaites si toutes les clées du fichier
test on etait correctements appliquées d'ou le besoin de pouvoir
comparéer seulements les le contenu de TEST avec son equivalent
dans windows.

e- Les clées HKEY_CURRENT_USER du fichiers sont ignorées par beyond
on sait que ce sont des S-1-5-18 etc.. mais dans les fichiers reg
on utlise ces clées qui sont plus parlantes.

Merci.

mdes
05-Jun-2011, 06:21 AM
Juste une petite remarque en ce qui concerne la prise en charge des commentaires : on ne peut pas dire si un commentaire s'applique à la clé précédente ou à la clé suivante; et dans le cas du premier commentaire du fichier, il peut s'appliquer au fichier entier ou à la première clé...

Pas facile tout ça !

manvantara
05-Jun-2011, 08:29 AM
Oui c'est vrai qu'on ne peux savoir à quel ligne il dépend.

Mais dans le cas de l'analyse ou comparaison, le ou les commentaires
sont tous igonorées; parce que ce qui est comparer c'est l'information
du fichier registre à savoire les clées qui le composents.

Voici en gros comment je vois un fichier registre !


--------------------------------------------
Windows Registry Editor Version 5.00 }
OU } L'une ou l'autre pour
REGEDIT4 } identifier la version du registre
[HKEY_LOCAL_MACHINE\......] } <- Clées sans commentaires
"cuiuci"=dword:00000 } <- sous-clées avec valeur
"avdc"=dword:00000 } <- sous-clées
[HKEY_LOCAL_MACHINE\......] } <- Clées

etc.....

Par exemple.


Pour l'analyse il ignora que ce qui suit qui va être comparées:

--------------------------------------------
; commentaire }
; commentaire } 0 ou plusieurs lignes
; commentraire } de commentaires
; etc.... }
Windows Registry Editor Version 5.00 }
OU } L'une ou l'autre pour
REGEDIT4 } identifier la version du registre
; commentaire } 0 ou plusieurs lignes
; commentraire } de commentaires
; etc.... }
[HKEY_LOCAL_MACHINE\......] } <- Clées sans commentaires
; commentaire } 0 ou plusieurs lignes
; commentraire } de commentaires
; etc.... }
"cuiuci"=dword:00000 } <- sous-clées avec valeur sans commentaires
"avdc"=dword:00000 ; comment } <- sous-clées avec commentaires
[HKEY_LOCAL_MACHINE\......] ; comment } <- Clées avec commentaires

etc.....

manvantara
05-Jun-2011, 08:34 AM
(Visuellement le précedent et faux je le repose ici)
Oui c'est vrai qu'on ne peux savoir à quel ligne il dépend.

Mais dans le cas de l'analyse ou comparaison, le ou les commentaires
sont tous igonorées; parce que ce qui est comparer c'est l'information
du fichier registre à savoire les clées qui le composents.

Voici en gros comment je vois un fichier registre !

--------------------------------------------
; commentaire.........................}
; commentaire.........................} 0 ou plusieurs lignes
; commentraire........................} de commentaires
; etc.... }
Windows Registry Editor Version 5.00..}
OU....................................} L'une ou l'autre pour
REGEDIT4..............................} identifier la version du registre
; commentaire.........................}
; commentaire.........................} 0 ou plusieurs lignes
; commentraire........................} de commentaires
; etc.... }
[HKEY_LOCAL_MACHINE\......]...........} <- Clées sans commentaires
; commentaire.........................}
; commentaire.........................} 0 ou plusieurs lignes
; commentraire........................} de commentaires
; etc.... }
"cuiuci"=dword:00000..................} <- sous-clées avec valeur sans commentaires
"avdc"=dword:00000 ; comment..........} <- sous-clées avec commentaires
[HKEY_LOCAL_MACHINE\......] ; comment.} <- Clées avec commentaires

Pour l'analyse il ignora que ce qui suit qui va être comparées:

--------------------------------------------
Windows Registry Editor Version 5.00..}
OU....................................} L'une ou l'autre pour
REGEDIT4..............................} identifier la version du registre
[HKEY_LOCAL_MACHINE\......]...........} <- Clées sans commentaires
"cuiuci"=dword:00000..................} <- sous-clées avec valeur
"avdc"=dword:00000....................} <- sous-clées
[HKEY_LOCAL_MACHINE\......]...........} <- Clées

etc.....

Par exemple.

mdes
05-Jun-2011, 10:17 AM
C'est ce que fait le module d'extension (que j'avais écrit personnellement, et dont je te parlais plus haut) INI files sorted disponible sur la page Support > Knowledgebase Articles > Alternatives to Built-in File Formats (http://www.scootersoftware.com/support.php?zz=kb_moreformats_alt).

De plus il essaie de conserver les commentaires à la bonne place : les commentaires sont associés avec les clés précédentes sauf après une ligne blanche, dans ce cas, ils sont associés à la clé suivante. Note que le tri s’effectue par rapport à la fenêtre de gauche.