[QR] Comment éviter de réinstaller ses composants après une réinstallation de Delphi
Delphi tient une liste des paquets qu'il charge à son démarrage dans la base de registre, aux clefs suivantes :
- HKCU\Software\Borland\Delphi\7.0\Known Packages jusqu'à Delphi 7 (en remplaçant 7.0 par 6.0 par exemple)
- HKCU\Software\Borland\BDS\2.0\Known Packages à partir de Delphi 8 (3.0 pour Delphi 2005)
Pour éviter d'avoir à réinstaller vos composants en réinstallant Delphi, commencez par sauvegarder dans un répertoire vos paquets compilés (*.bpl, dans <DELPHI>\Projects\Bpl) dans un répertoire de votre choix.
Ensuite désinstallez et réinstallez Delphi.
Pour terminer, ajoutez dans la clef registre correspondant à votre version une valeur chaîne par paquet à référencer. Le nom de cette valeur doit être le chemin du paquet à charger. Le contenu est utilisé par Delphi pour la description du paquet, vous pouvez donc y stocker le texte de votre choix.
A son prochain lancement, Delphi chargera les paquets que vous lui avez indiqués.
Dans le cadre d'un développement en équipe, il est souhaitable d'automatiser la configuration ou le déploiement ponctuel d'informations identiques pour chaque poste des membres de l'équipe.
Avant d'effectuer vos tests il est préférable d'effectuer une sauvegarde de la clé de registre
\Known Packages.
Le batch suivant permet d'automatiser cette opération. Il fonctionne uniquement sous XP, pour Windows 2000 ou NT il vous faudra l'adapter avec un outil tiers issu par exemple du
kit de ressource NT.
Les informations des nouvelles entrées sont extraites d'un fichier ASCII puis parsées dans une boucle
For.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
@echo on
rem Ajout de package Delphi
rem REG.exe est natif sous XP
rem Pour Delphi 2005 la clé se nomme
rem Set KeyPackage=HKEY_CURRENT_USER\Software\Borland\BDS\3.0\Known Packages
rem Pour Delphi 7 la clé se nomme
Set DelphiPackagesKey=HKEY_CURRENT_USER\Software\Borland\Delphi\7.0\Known Packages
rem Pour les versions inférieures remplacer 7.0 par le numéro de votre version :
rem 6.0 ou 5.0 ou 4.0
rem Lit un fichier Ascii, chaque ligne est séparée par un retour chariot.
rem Le format d'une ligne correspondant à : Path du package*@Description du package
rem Exemple :
rem C:\Delphi\unit\LMD70SE\LIB\D9\lmd70se_D9.BPL@*@LMD-Tools 7.0 Special Edition
rem Parcourt le fichier ligne par ligne, le délimiteur est la suite de caractères @*@
rem La variable %PckPath% contient le path complet du package
rem La variable %PckDesc% contient la description du package
For /F "tokens=1,2 delims=@*@" %%A in (Packages.txt) do Set PckPath=%%A&Set PckDesc=%%B& Call :ADD
goto end
:ADD
rem Ajoute un nouveau package ou remplace la description si la clé %DelphiPackagesKey% existe déjà
REG ADD "%DelphiPackagesKey%" /v "%PckPath%" /t REG_SZ /d "%PckDesc%" /f
Goto :eof
:end |
Partager