En fait, pour ne rien te cacher, on aime pas trop toucher au registre

Le principe d'une appli portable, c'est qu'on ne touche à rien (ou en tout cas au minimum) sur la machine hote.
Le dernier exemple que j'ai où on a manipulé le registre, c'est l'adaptation à l'arrache que j'ai fait du script de Joshua pour Paint.NET (qui passait pour un faux-positif).
Le principe est extêmement simple :
- Code: Tout sélectionner
RunWait("regedit /ea BackupFK\origine.reg HKEY_CURRENT_USER\Software\Paint.NET") ;on fait un backup si nécessaire
RunWait("regedit /s BackupFK\PaintNETDEL.reg") ;on importe du vide (= on fait le vide dans la clé)
RunWait("regedit /s BackupFK\PaintNET.reg") ;on importe l'éventuel backup
RunWait("Paint.NET\PaintDotNet.exe", "Paint.NET") ;on lance paint.net
RunWait("regedit /ea BackupFK\new.reg HKEY_CURRENT_USER\Software\Paint.NET") ;on a quitté paint.net, on exporte les nouvelles clés dans new.reg
FileMove(@ScriptDir & "\BackupFK\new.reg", @ScriptDir & "\BackupFK\PaintNET.reg", 1) ;on écrase le backup par new.reg
FileDelete(@ScriptDir & "\BackupFK\new.reg") ;on efface l'export new.reg
RunWait("regedit /s BackupFK\PaintNETDEL.reg") ;on importe du vide (= on fait le vide dans la clé)
RunWait("regedit /s BackupFK\origine.reg") ;on remet les clés d'origine
FileDelete(@ScriptDir & "\BackupFK\origine.reg") ;on efface l'export des clés d'origine
(tu le trouveras dans la FK 1.8.1.1 dans /Apps/PortablePaintNET/PortablePaintNETCode c'est le fichier .au3 )
En clair, on backup si la clé existe déjà, on laisse le logiciel faire sa sauce, et quand on quitte le soft, on remet tout en place.
Mais pourquoi est-ce une solution bâtarde ?
Parce que si tu retire ta clé violement pendant que Paint.net tourne, le script ne pourra pas remettre les chose en place.
Oh, ça ne cassera rien, mais si le premier utilisateur avait préconfiguré plein de choses, il se retrouvera avec *ta* config. Et ça c'est vraiment très moyen.
Pour Paint.net, j'ai estimé que ça valait le coup.
Pour SNMPc, ce n'est pas un logiciel libre, donc on (Framakey) ne travaillera pas dessus, mais libre à toi de le faire.
Bonne continuation !