Régler la base de registre avec NSIS

Résolu/Fermé
Utilisateur anonyme - 22 juil. 2008 à 05:35
 Anonyme - 23 juil. 2008 à 13:07
"Régler la base de registre avec NSIS" par sonyc

Pourquoi cette astuce ?
pour automatisé vos réglages lors par exemple d'une reinstallation de Windows
suite à un formatage.
Pour mieux comprendre :
au lieu d'aller dans la base de registre pour changer des valeurs
les unes àpres les autres lorsque vous voyez une bidouille,
ici et grace à cette astuce, vous allez vous fabriquer un fichier EXE
qui grace à deux clic de souris dessus régleras tous votre ordinateur.
Je précise que cette astuce est là pour vous apprendre à vous servir de NSIS
autrement que pour faire un setup
je sais très bien que l'on peut faire un fichier reg qui ressence toute vos clés.

dans cet exemple, on va changer une valeur qui accèlere le menu démarrer
https://i46.servimg.com/u/f46/12/46/91/18/bdr_0910.jpg
en
https://i46.servimg.com/u/f46/12/46/91/18/bdr_1010.jpg

ouvrez la base de registre
menu démarrer > Exécuter...
écrivez regedit puis OK
quand la base de registre est ouverte, seléctionnez la valeur MenuShowDelay
et faites Fichier > Exporter...
https://i46.servimg.com/u/f46/12/46/91/18/bdr_1110.jpg
et enregistrez comme ci-dessous
https://i46.servimg.com/u/f46/12/46/91/18/bdr_1210.jpg
un clic droit sur le fichier et choisissez Modifier
https://i46.servimg.com/u/f46/12/46/91/18/bdr_1310.jpg
le bloc-notes s'ouvre, il ne faut garder que :

11 réponses

Utilisateur anonyme
22 juil. 2008 à 05:45
si certains d'entre-vous ne voit pas cette astuce
cliquez sur le triangle jaune de l'astuce "Signaler ce message aux modérateurs"
et vous verrez cette astuce entière avec tous les liens
A+
                           
0
Bonjour

Depuis un moment j'y pense qu'il faudrait un outil comme celui de Microsoft pour le transfert des fichiers et des paramètres mais qui serait un peu plus intelligent : Elle est très bien ton astuce 'sonyc', faut-il encore la mettre en œuvre avant de formater ou de réinstaller sur la même partition ou une autre partition ; tient d'ailleurs, c'est pris compte le changement de partition donc de lettre pour les liens dans le registre ? Ce que je souhaite en parlant d'avoir un outil plus intelligent pour le transfert des fichiers et des paramètres c'est que chaque paramètre soit re-codé correctement et que les paramètres ambigus ou obsolètes soient présentés de façon claire à l'utilisateur pour le choix à faire sur le devenir du paramètre en question et un par un ou par grappe si c'est possible. J'aime pas que les paramètres soient ré-appliqués machinalement sans vérification de la manière dont ils sont écrits et codés et sans vérifier qu'ils ne servent plus à rien ou du moins par pour l'instant tel quel ou modifiés.

Bien pour "L'astuce du triangle jaune" :)

Merci
0
Utilisateur anonyme
22 juil. 2008 à 09:05
pour ton info, perso je change 72 valeur dans ma base avec ce système
pour ton observation sur les partitions
voici la soluce toujours avec NSIS bien sur
-- script --
; mes réglages BDRc2.nsi
; script de réglages de la base de registre par sonyc
LoadLanguageFile French.nlf
Name "mes réglages BDR "
OutFile "mes réglages BDRc2.exe"
AllowSkipFiles off
VIProductVersion "1.0.0.5"
VIAddVersionKey /LANG=${LANG_FRENCH} "ProductName" "mes réglages BDRc2.exe"
VIAddVersionKey /LANG=${LANG_FRENCH} "Script" "Nullsoft Install System v2.38"
VIAddVersionKey /LANG=${LANG_FRENCH} "FileDescription" "Réglages de la base de registre"
VIAddVersionKey /LANG=${LANG_FRENCH} "FileVersion" "1.5"
VIAddVersionKey /LANG=${LANG_FRENCH} "LegalCopyright" "sonyc"
XPStyle on ; Donne le style XP au setup (indispensable)
ShowInstDetails nevershow ; cache les détails du setup
Page components ; page des composants
Page instfiles ; Page installation fichier
Section "Réglages MenuShowDelay"
SectionIn RO
SectionEnd
Section /o "Réglages dans C:\"
WriteRegStr HKCU "Control Panel\Desktop" "MenuShowDelay" "1"
SectionEnd
Section /o "Réglages dans D:\"
WriteRegStr HKCU "Control Panel\Desktop" "MenuShowDelay" "1"
SectionEnd
Section /o "Réglages dans E:\"
WriteRegStr HKCU "Control Panel\Desktop" "MenuShowDelay" "1"
SectionEnd
Section /o "Réglages dans F:\"
WriteRegStr HKCU "Control Panel\Desktop" "MenuShowDelay" "1"
SectionEnd
                           
0
Bonjour

Heu, pour "XPStyle on ; Donne le style XP au setup (indispensable)" si j'ai le style classique et pas XP ?
(C'est quoi le problème ?)

Merci
0
Utilisateur anonyme
22 juil. 2008 à 09:32
tu ouvre ton Bloc-notes et tu supprime la ligne ou tu met un ; devant
XPStyle on ; Donne le style XP au setup (indispensable) du script
le (indispensable) ne l'est pas vraiment mais c'est plus jolie

mais je pense que si tu paramètre un style classic
l'exe crée par NSIS aura lui aussi un style classic comme tous tes exe d'ailleurs non ?

ceci n'est que le script, tu peut l'adapté à ta convenance,
tu peut aussi par une section choisir entre un style XP ou classic
les possibilité sont immenses.
des années d'expériences dans les scripts NSIS font que je ne m'aventure pas au hasard.

je doit quitter pour le moment, A+ et bonne journée à tous
merci Anonyme de m'avoir répondu.
                           
0
Bonjour

Heu, pour les partitions ou autres chose il n'y a pas moyen d'avoir un test conditionnel ?

Comment fonctionne :

Section /o "Réglages dans ?:\" <<<=== ??? C'est un test conditionnel ???
WriteRegStr HKCU "Control Panel\Desktop" "MenuShowDelay" "1"
SectionEnd

Merci
0
Utilisateur anonyme
22 juil. 2008 à 10:03
dans l'exemple suivant
Section /o "Réglages dans C:\"
WriteRegStr HKCU "Control Panel\Desktop" "MenuShowDelay" "1"
SectionEnd
le C:\ est juste un aide mémoire pour que tu te rappel la lettre de ton disque dur
(quand cette case est coché, toutes les sous-sections sont exécutées)
de toute façon que tu est 2 disques dur ou 1, tu auras une base de registre
enfin chez moi, c'est comme ça
(tu met l'exe sur le disque dur est ta base est réglé que ton disque s'appelle C ou F)
mes sections C D E F c'est juste un exemple pour comprendre les sections
j'aurais du les appeler par exemple Graphique, Internet, Disque Dur etc...
et dans chaque section, tu met tes paramètres en fonction du nom de la section
et des données de la BDR

image de l'application (exemple de l'exe)
https://i46.servimg.com/u/f46/12/46/91/18/bdr_1411.jpg
nom de section au choix
A+
                           
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour

Avec l'image j'ai compris pour les sections ;)

La question reste entière si on la prend seule : Il n'y a pas moyen d'avoir des tests conditionnels 'en plus' ? "Je n'aime pas que les paramètres soient ré-appliqués machinalement sans vérification de la manière dont ils sont écrits et codés et sans vérifier qu'ils ne servent éventuellement plus à rien car Windows est à jour par exemple ou le contraire ce qui peut posé problème avec certains paramètres". J'aimerai qu'il y est une vérification et une analyse avant d'appliquer les paramètres même si c'est nous qui les avons sauvegardés. Est-ce possible avec NSIS ? Et comment faire ? (Une sorte de Script 'Intelligent' avec NSIS pour rester dans le sujet).

Merci
0
Utilisateur anonyme
22 juil. 2008 à 10:30
tu veut lire d'abord un ou des paramètre(s) dans la base de registre avant de pouvoir
appliquer une nouvelle valeur
c'est ça ?
                           
0
Utilisateur anonyme
22 juil. 2008 à 10:51
Je dois quitter depuis un moment d'ailleurs mais le sujet est intéressant, alors
j'ai du mal à lâché prise
au secours mon PC ne veut plus s'éteindre......
Anonyme, cet après-midi, je te ferais un test de lecture / écriture
en attendant tu peut télécharger une aide en Français (dans mon texte)
http://www.commentcamarche.net/telecharger/nsis 213 avis opinions.php3#avis
dans ce fichier cherche ReadRegDWORD et ReadRegStr
ça devrait répondre à ta question sur la vérification avant le changement

pour rappel, avec NSIS on peut aussi créer des dossiers, supprimer des fichiers, etc....
A+
                           
0
ReBonjour sonyc,

J'avais déjà eu l'occasion de télécharger et d'installer NSIS mais le coté utilisation pratique rien.
Tiens d'ailleurs +> 'C:\Program Files\NSIS' Date de modification du dossier '15/03/2006 03:31'.
(Copyright (C) 1999-2006 Nullsoft, Inc.)

En fait pour comprendre ce que je souhaite (j'préfère apprendre avec effroi (vu l'ergonomie ; l'absence d'ergonomie) Blender: Tuto 'Subdivison' (Tout: "Débutez dans la 3D avec Blender") que j'ai installé hier pour un peu de pratique), donc pour comprendre ce que je souhaite, je voudrais pouvoir sauvegarder tous les paramètres ; tu sais juste avant que ça plante vraiment au dernier moment :)) et quand je remets les paramètres sur n'importe quel pc et dans n'importe quelle configuration je souhaite que le logiciel ou script me vérifie les paramètres tout seul et me demande quoi faire le cas échéant mais de façon à ce que même un novice complet en informatique comprenne et sache quoi faire en indiquant quelle sont les avantages et les inconvénients de chaque paramètres et en fonction éventuellement d'un ou plusieurs autres paramètres. Un programme intelligent quoi comme si je demandais à quelqu'un : "c'est quoi ça, ça fais quoi ça et ça si je fais cela ça fait quoi mais comme il y a ce paramètre ici ou ces paramètres là ça fais quoi ?" ; voila. Bein oui, si je peux avoir une "IA" intégrée (qui pense même à ce que je ne pense pas comme des paramètres que j'oublie de voir) je crache pas dessus.

<humour "j'ai à faire à un génie"> (Avec du sérieux)
Bon bah à demain 'sonyc' pour la livraison du script avec l'IA intégrée, parce que pour la programmation sans un apprentissage long et fastidieux de NSIS j'y suis pas encore ; par-contre c'est vrai que ce que tu proposes est très simple à faire avec un minimum de savoir faire.
</humour "j'ai à faire à un génie">

Merci
0
Bonjour

Pour l'aide en Français pour NSIS dont tu disposes tu peux la proposer ici :

Le Site de Traduction de Documentations et Interfaces de Logiciels Informatiques.

https://freelance-france.com/

L'ancien site ne fonctionne plus mais renvoi quand même vers le nouveau site ci-dessus.
L'ancien site manuelsdaide.com à fait peau neuve et son adresse a été modifiée.

Merci
0
ReBonjour à tous et toutes,

Concernant les deux commandes suggérées pour la lecture dans le registre :

4.9.2.11 ReadRegDWORD

var_utilisateur(destination) clé_racine sous-clé nom

Lit un DWORD de 32 bits depuis le registre vers la variable utilisateur $x. Les valeurs valides pour clé_racine sont listées dans l'aide de WriteRegStr. Le flag d'erreur est levé et $x comprendra une chaîne vide ("", soit 0) si le DWORD n'est pas présent. Si la valeur est présente, mais n'est pas de type DWORD, elle sera lue comme une chaîne de caractères et le flag d'erreur sera levé.

ReadRegDWORD $0 HKLM Software\NSIS VersionBuild

4.9.2.12 ReadRegStr

var_utilisateur(destination) clé_racine sous-clé nom

Lit depuis le registre dans la variable utilisateur $x. Les valeurs valides pour clé_racine sont listées dans l'aide de WriteRegStr. Le flag d'erreur est levé et $x comprendra une chaîne vide ("") si la chaîne n'est pas présente. Si la valeur est présente, mais est de type REG_DWORD, elle sera lue, convertie en chaîne de caractères et le flag d'erreur sera levé.

ReadRegStr $0 HKLM Software\NSIS ""
DetailPrint "NSIS est installé à: $0"

Merci
0
Utilisateur anonyme
23 juil. 2008 à 10:46
Bonjour,
Anonyme, en lisant l'aide tu as répondu à ta propre question.
Je pensais que j'aurai eu un peu plus de succès et de réponses avec cette astuce
en plus le message n°1 est mal écrit (mais bien posté, triangle jaune), signaler en alerte car je pense à BUG
enfin, peut être est-ce trop compliqué
j'aurais du proposé cette astuce en fichier .reg (plus simple)
peut être un jour !
J'ai proposé cette astuce parce que la base de registre n'est pas beaucoup traité sur CCM
NSIS encore moins
cette astuce n'avait pas vocation à une demande pour etre contributeur comme je l'ai déjà dit
http://www.commentcamarche.net/forum/affich 7194990 proposer des astuces#2
mais simplement une petite participation de ma part.
Anonyme, je met en résolu pour ne pas éternisé le topic
mais si t'a besoin d'aide sur NSIS, sonne-moi et continu de lire le fichier .chm
Salut
                           
0
Bonjour

Si ça fait un effet grisé dans le post #0 c'est parce que tu as mis 2 tirets "--" en début de ligne !
On s'en sert pour faire la signature. Le premier suffit pour voir un 'grisement' si c'est français.
Pour réduire l'espace entre merci et le gris saute une ligne = c'est comme ça ;)) (Astuce)

Et pour ma question, elle reste ouverte car je ne souhaite pas faire un programme moi-même.
Par-contre je veux bien aider si j'y arrive en faisant des suggestions ou + après présentation d'un début.
J'ai déjà demandé une "IA" (Intelligence Artificielle) dans la gestion de la ré-application des paramètres.

C'est mieux que l'on est tous le même script qui s'adapterait selon notre situation grâce à l'IA.
C'est plus simple pour le Service Avant Catastrophe (SAV:-)).

Si tu peux avoir accès à l'interface de la faq pour faire quelque chose de complet et propre c'est mieux.
Tu fais ton truc proprement et directement (sur une base) avec tout qui va bien. (Contributeur).
C'est pas un statut c'est pour dire que tu es responsable de ce que tu va faire et que tu sabotes rien.
La faq doit rester un point de confiance pour ceux qui la lise et c'est normal de savoir qui *trafic* dedans.

Merci
0