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 :
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).
Oui j'ai récupéré la documentation que vous m'avez donné. Je vous en remercie.
Ensuite, je vous remercie pour votre réponse, cependant je n'arrive pas très bien à comprendre. Vous êtes en train de dire qu'il faut modifier le nom du fichier pour berner PeaZip.
Mais comment le faire pour 200 utilisateurs par exemple ?
Sachant en plus que je déploi le logiciel de manière silencieuise pour l'utilisateur.
Dois-je renommer ces fichiers manuellement?
Le problème étant que mon maître de stage désire qu'il y ai une minimum de manipulations à faire. Peut-être qu'un .bat permet de faire cette manipulation.
Il ne s'agit pas de manipulations manuelles mais de renommage et copiage de fichiers juste après l'installation du package et de la mise à jour de la base de registre.
Dans le CMD qui installe le package en mode silencieux, vous mettez ensuite à jour la base de registre pour donner les options de Peazip. Juste après vous ajoutez 2 lignes pour renommer le fichier "en.txt" vers "en-en.txt" (fichier qui a été mis à l'installation du package et pour moi c'est dans : C:\Program Files(x86)\Peazip\res\lang)
puis de copier le fichier fr.txt en "en.txt" (d'où la substitution).
Tout ceci se fait en batch et ne demande aucune intervention manuelle, donc on peut déployer ce logiciel sur plusieurs centaines de postes et ceci automatiquement et transparent.
La commande pour renommer en batch: rename (saisir rename /? pour le help)
La commande de copie en batch : copy (saisir copy /? pour le help)
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?
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...
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...
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) :
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...) :
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.
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.
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.
Cordialement.
Bonne soirée.
Je voudrais par contre connaitre la solution professionnelle que vous cité hier. Je suis curieux de la connaitre. Merci.
Cordialement.