Introduction
Voici un tutoriel vous permettant de suivre pas à pas la création d'un lanceur facilement pour une application qui n'est pas normalement portable, celle-ci inscrivant ses paramètres dans la
base de registre. Pour ce tutoriel, quelques connaissances en
batch sont recommandées. J'ai pris comme exemple la portabilisation de
Angry IP Scanner avec les outils suivants:
Le langage de programmation Batch (inclus dans Windows)
RegFromApp
NB: Si le programme possède un driver, il ne peut pas être portable de cette manière.
Si le programme possède des fichiers dans le répertoire Windows ou d'autres répertoires système: il ne peut pas être portabilisé.
S'il y a besoin d'enregistrer une
dll/
ocx : pas besoin d'essayer.
Sauvegarde des paramètres
Pour connaitre la ou les clés modifiées ou créées dans la base de registre par l'utilisation de
Angry IP Scanner, nous allons faire un "
tracing" de l'utilisation du registre par Angry IP Scanner.
Lancer
RegFromApp
Déroulez le menu "Files"->'Démarrer un nouveau
processus"->"Browse..."->Sélectionnez votre exécutable->Cochez "Start Tracing immediately" puis validez :
Nous allons ensuite sauvegarder les options de Angry IP Scanner dans un dossier nommé "
Data" :
Maintenant nous devons copier l'intégralité de l'application (le petit exécutable en gros...) dans un répertoire nommé "
App" :
Portabilisation (Création du Batch)
Maintenant, nous allons coder le lanceur en Batch à la racine du dossier (par exemple "Start.bat"), il faut ouvrir ce fichier avec Notepad par exemple et mettre ce que l'on a trouvé comme paramètres de registre et qui sont normalement dans le dossier "Settings" (une petite image pour vous rappeler ^^):
Mais que va-t-on faire avec ceci ? Ben on va pouvoir pondre le fichier batch pardi ;-) !
Donc lancez votre éditeur de texte favori et mettez ce code là-dedans:
@Echo Off
Set regpath=HKEY_CURRENT_USER\Software\Angryziber
Title Angry Ip Scanner Portable
Echo Lancement de Angry IP Scanner...
Reg Import "Data\Settings.reg"
Appipscan.exe
Echo Nettoyage...
Reg Export /Y "%regpath%" "Data\Settings.reg"
Reg Delete /F /VA "%regpath%"
- Selon votre logiciel, il va falloir changer la variable regpath
Une fenêtre sera là durant l'utilisation su programme, mais vous pouvez aller sur
ce site et y mettre votre script, sans oublier toutefois de cocher "Invisible Application" ! Vous pourrez ensuite changer l'icône avec
Resource Hacker.
Attention : les fichiers créés à l'aide de ce convertisseur en ligne sont susceptibles de faire réagir à tort les antivirus.
A noter que Angry IP Scanner ne laisse pas de documents récalcitrants sur le
disque dur mais vous pouvez les copier ensuite sur la clé comme ceci, en admettant que %datapath% est l'adresse des documents laissés à la fermeture de Angry IP Scanner, le code sera comme ceci:
@Echo Off
Set regpath=HKEY_CURRENT_USER\Software\Angryziber
Set datapath=%SystemDrive%\Dossier à supprimer
Title Angry Ip Scanner Portable
Echo Lancement de Angry IP Scanner...
If Exist "Data\Backup" Copy /Y "Data\Backup" "%datapath%
Reg Import "Data\Settings.reg"
Start /wait "Appipscan.exe "
Echo Nettoyage...
Copy /Y "%datapath%" "Data\Backup"
Reg Export /Y "%regpath%" "Data\Settings.reg"
Reg Delete /F /VA "%regpath%"
J'ajoute que l'on peut analyser si le logiciel crée des documents dans le disque dur avec
File Monitor de Sysinternals. Si vous avez besoin d'autres variables d'environnement pour le nettoyage de fichiers, elles sont
ici :)
Autres Liens
Publié par
gobiel -
Dernière mise à jour le 12 août 2011 à 20:15 par gobiel