Comment modifier la langue d'un logiciel grâce à un .reg [Résolu/Fermé]

Signaler
Messages postés
40
Date d'inscription
vendredi 17 février 2012
Statut
Membre
Dernière intervention
29 décembre 2014
-
Messages postés
313
Date d'inscription
mercredi 30 mars 2011
Statut
Membre
Dernière intervention
8 juin 2016
-
Bonjour,

Dans le cadre de mon stage, je dois déployer massivement un nouveau logiciel sur le réseau. Après la première phase de test réalisé grâce à Kaspersky Security Center sur une dizaine de machine du réseau, j'ai constaté que le logiciel était correctement installé mais en anglais. J'utilise le code .reg suivant :

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\PeaZip]
"SubCommands"="PeaZip.add2separate;PeaZip.add2separatesingle;PeaZip.ext2a;"


Y a-t-il une commande pouvant être ajoutée dans le .reg pour choisir la langue?

Merci d'avance pour votre aide.

Cordialement.

4 réponses

Messages postés
313
Date d'inscription
mercredi 30 mars 2011
Statut
Membre
Dernière intervention
8 juin 2016
125
Bonjour,

C'est encore moi, une fois de plus....!!! Une chose, si personne ne vous a répondu à ce jour, votre problème est mal exposé et il faudrait retrouver vos autres messages à ce sujet de la semaine dernière pour essayer de comprendre.

J'ai trouvé 2 solutions, une qualifiée de "professionnelle" mais assez complexe à mettre en oeuvre et l'autre que j'appelerai "bidouille" mais facile à implémenter. De toutes les façons, pour passer Peazip en français, on ne passe pas par une clé spécifique à mettre dans la base de registre (donc laissez tomber ce côté là...). Initialement le package est fait pour que chaque utilisateur qui utilise Peazip puisse définir de son côté ses propres préférences donc en l'occurence la langue et ceci sans gêner le "petit copain d'à côté". Un utilisateur pourra l'avoir en Français, tandis qu'un autre connecté sur ce même micro (avec un compte de connexion différent bien sûr) pourra le définir en Anglais ou en Espagnol...etc.

Je donne la plus facile dite "bidouille" :
- Après l'installation du package Peazip et de la mise à jour de la base de registre , il suffit de renommer le fichier .....\Peazip\res\lang\en.txt en par exemple ....\Peazip\res\lang\en-en.txt (c'est une précaution pour ne pas le perdre) puis de copier le fichier :
.....\Peazip\res\lang\fr.txt en .....\Peazip\res\lang\en.txt
Ainsi comme c'est la fichier "en.txt" qui est pris par défaut au démarrage la première fois, on "leurre" Peazip en lui donnant soit disant un fichier Anglais mais en réalité en français.

Cette solution fonctionne très bien (je l'ai testé sur mon micro) et ce sera valable pour tous les utilisateurs (attention à la syntaxe du renommage de fichiers).


Pour ce qui est de l'autre solution, dites-le moi mais elle est très longue à décrire mais elle est plus "professionnelle".

Avez-vous récupéré mes documents sur la création des clés USB bootable ? (afin que je puisse les supprimer du site qui les héberge).

Cordialement.
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
40
Date d'inscription
vendredi 17 février 2012
Statut
Membre
Dernière intervention
29 décembre 2014
1
Super merci pour l'aide les fichiers s'enregistre bel et bien quand je passe par cmd. Mais lorsque je le mets de le .bat ça ne marche pas.
Je met pourtant :
@echo off
rename "C:\Program Files(x86)\Peazip\res\lang\defaut.txt" "en-en.txt
rename "C:\Program Files(x86)\Peazip\res\lang\fr.txt " "default.txt"


Dois-je ajouter une ligne au .bat ou une commande au fichier?

Cordialement.
Messages postés
313
Date d'inscription
mercredi 30 mars 2011
Statut
Membre
Dernière intervention
8 juin 2016
125
Voici ce que doit être votre CMD (celui qui est appelé par un autre pour éviter qu'une fenêtre DOS s'ouvre pendant quelques secondes) :

Pour info, mon package Peazip et mon .reg sont situés dans : K:\Test_Dom


@echo off

start /WAIT /MIN K:\Test_dom\peazip-plain-4.8.WINDOWS.exe /verysilent


start /WAIT /MIN regedit /s PeaZip.reg


rename "%ProgramFiles(x86)%\Peazip\Res\lang\default.txt" default-en.txt
copy "%ProgramFiles(x86)%\Peazip\Res\lang\fr.txt" "%ProgramFiles(x86)%\Peazip\Res\lang\default.txt" /Y


exit /b 0



Attention à la ligne COPY qui doit être sur une seule ligne seulement. Ainsi on sauvegarde le fichier "Default.txt" d'origine en "Default-en.txt" puis on copie "Fr.txt" en "Default.txt". Ici je ne peux pas trop vous expliquer mais il y a un fichier de config de Peazip qui s'est créé dans l'environnement de l'utilisateur connecté et ceci au moment où la première fois Peazip est lancé.

Ceci doit fonctionner sans problème, bien sûr en l'adaptant de votre côté pour les chemins...

Mais solution de bidouille.........

A suivre.
Messages postés
40
Date d'inscription
vendredi 17 février 2012
Statut
Membre
Dernière intervention
29 décembre 2014
1
Merci pour cette solution bidouille. Elle marche.

Cordialement.
Messages postés
313
Date d'inscription
mercredi 30 mars 2011
Statut
Membre
Dernière intervention
8 juin 2016
125
Très bien, mais si votre maître de stage n'accepte pas cette solution (vous n'êtes peut-être pas obligé de tout lui expliquer), on verra pour l'autre...

Bonne soirée.
Messages postés
40
Date d'inscription
vendredi 17 février 2012
Statut
Membre
Dernière intervention
29 décembre 2014
1
C'est bon il a accepté cette solution.

Je voudrais par contre connaitre la solution professionnelle que vous cité hier. Je suis curieux de la connaitre. Merci.

Cordialement.
Messages postés
313
Date d'inscription
mercredi 30 mars 2011
Statut
Membre
Dernière intervention
8 juin 2016
125
Bonjour,

Comme je vous disais hier, un utilisateur qui lance une 1ère fois Peazip, un fichier de configuration se crée dans son environnement à savoir (n'oubliez pas que je suis en Win7 - Fr) :

C:\Utilisateurs\nom_du_user\AppData\Roaming\Peazip\Conf.txt

On peut le raccourcir de cette manière: %AppData%\Peazip\Conf.txt

Dans ce fichier de config, il y a une section [Language] et en dessous on trouve "Default.txt". C'est ce fichier qui sera chargé au lancement de Peazip. Il suffit donc de mettre le nom du fichier ".txt" correspondant à la langue désirée dans cette section. D'ailleurs ce fichier pourrait être mis à jour lorsque l'utilisateur va dans les options puis choisit "Localisation" ou Localization en Anglais, une fois que Peazip est lancé. Ainsi on lui affiche tous les fichiers de langage qu'il peut choisir à sa guise et selon le fichier choisi, le fichier Conf.txt est mis à jour.
Le problème pour un déploiement de masse, c'est que ce fichier n'est pas créé immédiatement et qu'il faudrait un système "à retard" qui puisse lui injecter un fichier avec la bonne valeur pour avoir Peazip en français (faisable mais très complexe, on pourrait le faire via le Login Script). Aussi, l'astuce consiste lors de l'installation d'injecter un bon fichier "Conf.txt" au moment de l'installation mais ceci dans le répertoire où est installé Peazip soit dans: C:\program Files(x86)\Peazip\res

Mais comment faire puisque le fichier "Conf.txt" est propre à chaque utilisateur et il est créé au 1er lancement???
Dans le répertoire d'installation du Peazip, il y a un fichier "Altconf.txt" qui permet de choisir où sera situé le fichier de config de Peazip (explication en Anglais et pas très explicite...). Actuellement, à la fin de la ligne il y a AppData, ceci signifie que le fichier de config sera créé dans l'environnement de l'utilisateur comme expliqué plus haut. Mais si dans ce fichier on met "Same" au lieu de "AppData", le fichier de config créé au 1er lancement de Peazip et sera situé dans le répertoire d'install de Peazip et au même endroit que le fichier "Altconf.txt". Une fois que l'on a compris cela, il est facile d'injecter les 2 fichiers avec les bonnes valeurs au moment de l'installation (commandes de copy à mettre dans le CMD, comme hier).

1ère chose:
- Récupérer un fichier "Conf.txt" lors des essais classiques dans l'environnement de l'utilisateur. Modifier le fichier pour mettre "Fr.txt" au lieu de Default.txt dans la section [Language] et mettre le fichier dans votre répertoire où est situé le package d'install Peazip et le .reg (pour moi c'est K:\Test_Dom).
- Récupérer le fichier "Altconf.txt" puis modifier-le en mettant Same au lieu de AppData et mettez-le aussi dans votre répertoire où est situé Conf.txt (donc K:\Test_Dom).

- Il suffit maintenant de modifier le CMD d'installation de Peazip (comme hier) et d'ajouter ces 2 lignes (la 1ère COPY est sur une seule ligne...) :


copy k:\test_dom\altconf.txt "%ProgramFiles(x86)%\Peazip\Res\altconf.txt" /Y
copy k:\test_dom\conf.txt "%ProgramFiles(x86)%\Peazip\Res\Conf.txt" /Y


Ainsi on injecte au moment de l'installation de Peazip, 2 fichiers de configuration qui permettent d'avoir Peazip en français. Le fichier Conf.txt est très complexe et on pourrait aussi contrôler d'autres options (à vous de jouer si le coeur vous en dit....).
Au 1er lancement de Peazip par un utilisateur, du fait que c'est "Same" qui est défini, on lit le fichier de config situé dans le répertoire de Peazip et non pas celui qui aurait pu être créé dans l'envionnement de l'utilisateur (d'ailleurs avec "Same", rien est créé côté utilisateur). Il est à noter que l'on impose ainsi la langue Française pour tous les utilisateurs qui se connectent sur ce micro. J'insiste sur ce point car lorsque je travaillais sur des projets de déploiement chez des clients, il y a avait des postes dédiés bien sûr mais aussi des postes multi-utilisateurs (par exemple ceux qui travaillent en équipe dans un milieu industriel).
Avec cette solution, il n'y a pas de "bidouillage" puisque c'est prèvu grâce à la bonne valeur mise dans le fichier "Altconf.txt". Le fait d'injecter un fichier "Conf.txt" par anticipation fait partie de processus normaux de déploiement de masse. Si un jour, une option devait être changée ou ajoutée, il suffirait de télédistribuer un nouveau fichier Conf.txt au bon endroit sur tous les postes.
Voilà, j'espère avoir été assez clair pour cette 2ème solution. Ici, le fait de chercher une clé de registre pour la langue aurait été sans effet, mais l'approche était bonne car pour certains logiciels, la langue est bien définie par une clé de registre (mais la syntaxe ne s'invente pas....).
En fait j'étais sûr que ce n'était pas par un clé de registre car en modifiant la langue par les options de Peazip, il n'y avait rien de changé dans la base de registre et comme l'option choisie était persistante pour les lancements suivants, il devait y avoir un autre indicateur d'où ces recherches sur des fichiers.

Si vous avez d'autres problèmes de déploiement, ouvrez bien sûr un post à ce sujet, mais aussi mettez-moi un message privé dans CCM car je ne peux pas voir tout ce qui est ouvert, il y en a trop et de plus je ne suis pas compétent dans tous les domaines.

Cordialement.
Messages postés
40
Date d'inscription
vendredi 17 février 2012
Statut
Membre
Dernière intervention
29 décembre 2014
1
Je pense avoir trouvé une piste, mais je n'arrive pas à trouver la ligne de code qui suit. Le partie du registre à modifier doit être celle-ci :

[HKEY_LOCAL_MACHINE/SOFTWARE/Classes/*/shell/PeaZip]

Je n'arrive pas à trouver la suite. J'ai essayé ceci :

"Langue"="français;"

Mais ça ne marche pas.

Quelqu'un aurait-il une idée. Merci d'avance pour votre aide. J'en ai vraiment besoin.

Cordialement
Messages postés
40
Date d'inscription
vendredi 17 février 2012
Statut
Membre
Dernière intervention
29 décembre 2014
1
S'il vous plait. Quelqu'un peut-il me venir en aide?
Messages postés
40
Date d'inscription
vendredi 17 février 2012
Statut
Membre
Dernière intervention
29 décembre 2014
1
En cherchant hier, je suis arrivé à ce résultat en le saississant dans le cmd :

REG ADD HKLM/SoFTWARE/Classes/*/shell/PeaZip /V Langue / T REG_DWORD /D 040C

Cependant, ça ne marche pas. Quelqu'un peut-il me venir en aide? Je désespère à trouver une solution.