Portabiliser une application

Voici un tutoriel vous permettant de suivre pas à pas la création d’un lanceur pour une application qui n’est pas normalement portable, celle ci inscrivant ses paramètres dans la base de registre. Pour ce tutoriel, j’ai pris comme exemple la portabilisation de heidiSQL avec les outils suivants:

Universal extractor
Portable Regshot
autoIt

Pour rendre HeidiSQL portable, téléchargez le fichier d’installation sur le site officiel, puis ouvrez Universal Extractor et sélectionnez ce fichier. Choisissez le nom du répertoire d’extraction (par exemple : Portable_HeidiSQL)

Une fois l’extraction terminée, ouvrez le répertoire d’extraction,

renommer le répertoire {app} (par exemple : HeidiSQL) et supprimer le fichier install_script.iss et les répertoires {commonappdata} et embedded.

Pour connaitre la ou les clés modifiées ou créées dans la base de registre par le lancement d’HeidiSQL, il nous faut faire une « image » de votre base avant le lancement et la comparer à la base de registre après la fermeture d’HeidiSQL. Pour cela j’utilise le logiciel Regshot portabilisé par Framasoft.

Lancer Portable Regshot

– cliquez sur le bouton 1er passage : une première image de la base de registre est effectuée.

– Lancez le fichier heidiSQL.exe ce trouvant dans le répertoire que vous avez nommé HeidiSQL (anciennement {app} ) puis refermez le .
– cliquez sur le bouton 2ième passage : la seconde image de la base de registre est réalisée.

– cliquez sur le bouton Comparer.

Regshot génère alors un rapport (au format txt ou html en fonction de l’option choisie).

Dans la section clés ajoutées notez la présence de deux valeurs commençants par HKU pour HKEY_CURRENT_USER.

Je garde la première valeur que je modifie afin de supprimer les numéros correspondants à la session utilisateur active ce qui donne :

HKEY_CURRENT_USER\Software\HeidiSQL Cette valeur va etre utile un peu plus tard.

Dans le répertoire d’HeidiSQL, créez un sous répertoire reg. Dans ce répertoire, créez via votre éditeur de texte favori, un fichier que vous nommerez heidi_Reg.reg.

Ensuite cela se complique un peu.
Il va falloir faire un script (toujours avec votre éditeur de texte favori) transformé ensuite en fichier exécutable grâce à AutoIt.
Voici donc le script à créer :

RunWait("regedit.exe /s HeidiSQL\reg\heidi_Reg.reg", @ScriptDir)
RunWait("HeidiSQL\heidisql.exe")
RunWait('regedit.exe /s /e "' & @ScriptDir & '\HeidiSQL\reg\heidi_Reg.reg" "HKEY_CURRENT_USER\Software\HeidiSQL" ')
RegDelete("HKEY_CURRENT_USER\Software\HeidiSQL")

Sauvegarder ce script en le nommant Portable_heidiSQL.au3 par exemple (l’extension au3 est primordiale)

La première ligne, permet d’inscrire (via regedit) les différents paramètres du logiciel (paramètres de connexions, options du logiciel) dans la base de registre.
La deuxième ligne permet de lancer le logiciel, à ce stade le script attend que vous refermiez le logiciel pour passer à la ligne suivante. (paramètre RunWait)
La troisième ligne permet, après la fermeture du logiciel, de relancer regedit pour récupérer les paramètres du logiciel et les sauvegarder dans le fichier heidi_Reg.reg ce trouvant dans le sous répertoire reg (celui-là même que nous avons créé auparavant). Notez la présence de la clé que nous avons déterminé plus haut avec l’aide de Regshot.
La quatrième ligne permet de « nettoyer » la base de registre en supprimant les paramètres précédemment enregistrés.

Testez votre script en le lançant avec autoIT3.exe, et si il fonctionne correctement, Il ne nous reste plus qu’a convertir notre script en exécutable.
Pour cela, lancer Auto2exe, sélectionnez ensuite le script Portable_heidiSQL.au3, changez le répertoire de destination pour pointer à la racine du répertoire Portable_heidiSQL, et changez éventuellement l’icône. Cliquez sur convert, et après quelques secondes, l’exécutable est créé. Il ne vous reste plus qu’a à utiliser HeidiSQL en lançant l’exécutable Portable_heidiSQL.exe.

109 thoughts on “Portabiliser une application

  1. Seul « problème » à la solution que tu évoque ThinApp est payant et je ne connais pas grand monde capable de payer une licence aussi chère pour virtualiser quelques applications

  2. Tuto pas mal dans l’ensemble.
    Mais procédure compliqué pour des modifications de fichiers comme le fichier « host » pour y ajouter un serveur.
    Une solution alternative pour rendre 95% des applications portable :
    ThinApp de VMware
    ThinApp fait un scan des fichiers avant l’installation de l’application à rendre portable
    Vous installez votre application (Office 2010, Visual Studio, Jeux, etc…)
    ThinApp fait un deuxieme scan des fichiers qui inclue reg et fichier ajouté/modifié
    Vous pouvez aussi choisir quel type d’application vous voulez en faire (exe seule, exe avec fichier de dépendance, MSI, etc …)

  3. Merci pour le tutoriel
    mais je crois qu’il y aura pas mal d’apps qui ne peuvent pas être
    portabilisés

  4. bonjour,
    je souhaite portabiliser un logiciel de musique (dont je suis propriétaire) mais ce logiciel s’installe en 2 fois:
    la première installation crée un code d’enregistrement depuis un numéro de licence, qu’il faut ensuite envoyer par mail pour avoir le numéro de série en retour. Donc il faut attendre ce retour pour finir l’installation.
    est-il possible de portabiliser un tel logiciel?
    merci

  5. Rebonjour,

    Apparemment c’est le site qui a un défaut mais pas le scripte, car quand j’ai fais un copié/collé de mon scripte il n’y avait pas de vide entre les guillemets et les parenthèses, d’ailleurs le vide est visible, et si on fait un copié/collé du scripte original tel qu’il est sur le site et bien il ne marchera pas ! Aussi je m’excuse auprès de l’auteur de ce scripte pour ce que j’ai écris plus bas.

    Salutations !

  6. Après une cinquantaine de vaine tentative infructueuse, je suis parvenu à trouver le défaut de ce scripte que je n’ai pas pu faire marcher, car il à un défaut: ya un espace entre les Parenthèses: ( et les Guillemets: » etc.…Voici comment on doit écrire le scripte:

    RunWait(« regedit.exe /s HeidiSQL\reg\heidi_Reg.reg », @ScriptDir)
    RunWait(« HeidiSQL\heidisql.exe »)
    RunWait(‘regedit.exe /s /e « ‘ & @ScriptDir & ‘\HeidiSQL\reg\heidi_Reg.reg » « HKEY_CURRENT_USER\Software\HeidiSQL »‘)
    RegDelete(« HKEY_CURRENT_USER\Software\HeidiSQL »)

    Salutations!

  7. Bonjour,
    Je cite un paragraphe du tuto: Dans le répertoire d’HeidiSQL, créez un sous répertoire reg. Dans ce répertoire, créez via votre éditeur de texte favori, un fichier que vous nommerez heidi_Reg.reg.

    Quelqu’un peut-il me dire ce qu’il faut écrire dans ce fichier ?

    Salutations !

  8. Tuto vraiment alléchant : cela a l’air facile : je me lance !
    Problème : (je reprends ici l’exemple du Tuto)
    lors du run de l’ Autoit, message d’erreur sur
    la 1ere ligne du « Portable_heidiSQL.au3 »
    soit :
    RunWait(”regedit.exe /s HeidiSQL\reg\heidi_Reg.reg”, @ScriptDir)
    engendre une erreur en Autoit : « Error : Unable to parse line »
    Pourtant mon Autoit fonctionne Ok sur les exemples qui l’accompagnent.
    Pourquoi donc cette aversion de l’ Autoit par rapport à « regedit.exe » ?

    Je suis bloqué. Qui peut m’aider ?

    Pr Info je suis en Win XP SP3.

  9. Effectivement, il est possible, lorsqu’un logiciel portabilisé « plante » que des clés de registres persistent malgré l’arrêt de l’application. Dans ce cas créez un fichier .reg contenant toutes les clés utilisées par ce logiciel, en les faisant chacune précéder du signe moins (-)
    exemple : Pour supprimer une clef de la base de registre à l’aide d’un fichier .reg, faites précéder le nom de la clef par le signe moins:

    Exemple :

    [-HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Second]

    lors d’un plantage du soft, lancez simplement ce fichier .reg et les clés restantes seront effacées

  10. Que se passe t-il si le logiciel portable ainsi fabriqué, plante pendant que l’on s’en sert ?

    J’ai peur que la base de registre soit corrompue dans ce cas.
    En effet, le lancement du logiciel portable passe par un executable qui intègre la bascule des bases de registre avant / après l’exécution du programme lui-même. Un plantage interrompt l’exécution avant la remise à plat de la base de registre?
    Est-ce le cas, ou y-a-t-il une parade ?

    merci

  11. Félicitation et merci beaucoup pour ce beau tuto, ça devrais être utile à plusieurs. Cependant j’aurais apprécié que tu donnes les similarités pour portabiliser d’autres logiciels (i.e. employer les mêmes extensions que tu as employé pour HeidiSQL ou….??) Merci encore.

  12. Ajoutez simplement le chemin complet de la clé :

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MahJongg\

  13. bonjour voilà je voulais portabiliser mon jeu Majjhong,
    cependant Regshot me créé un fichier avec des valeurs ajoutés HKLM et non HKU

    ———————————-
    Clés ajoutés:1
    ———————————-
    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MahJongg

    ———————————-
    Valeurs ajoutés:2
    ———————————-
    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MahJongg\DisplayName: « MahJongg »
    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MahJongg\UninstallString: « C:\GSP\MAHJONGG\unstall.exe »

    que dois-je modifier exactement, merci de votre aide,
    il n’y a pas plus simple

    Merci de votre aide

  14. Bonjour
    je n’ai jamais entendu parlé d’un direct X portable. En théorie ce doit être possible, en récupérant l’ensemble des DLL nécessaires mais Direct X est tellement imbriqué dans windows que cette tache doit être des plus ardue

  15. bonjour,

    merci beaucoup pour ce tuto, mais j’aurai une question a poser.

    Serai-ce possible de rendre directX portable ? Je m’explique j’ai rendu trackmaniaNation portable … cependant sur un autre ordinateur il manque tout les dll nécessaire pur faire tourné le jeu existerait il une solution ?

    meric par avance

  16. vous avez fait un très bon travail ,j’ai suivi le cours jusqu’au passage
    ou on garde seulement la première clé [HKEY_CURRENT_USER\Software\HeidiSQL]
    on l’a utilisé par la suite mais ou ?
    en suite le contenu du registre reg qu’on a créer :c’est quoi?
    je sait que je ne saisis pas bien ce language mais me voila débuter et
    UN GRAND MERCI POUR VOUS ET POUR TOUS CEUX QUI ONT AIDE A
    LE FAIRE.

  17. J’ai compris pour l’extraction du fichier d’installation dans un dossier, mais j’ai un peu de mal à comprendre pour la base de registres.
    Quand les clés d’un programme sont enlevées de la base avec autoit via la commande regdelete, il reste le fichier .reg.
    Mais alors, quand l’exécutable devenu portable est lancé, le fichier .reg est lancé aussi, donc il ajoute à chaque fois les clés dans la base de registres et les enlève donc après avec la commande regdelete, est-ce exact ?

  18. Bonjour, est-ce que ça fonctionne aussi si lors de l’installation il installe des fichiers dans des répertoires autres que celui spécifié? Ex: dans le répertoire fonts de windows

  19. je te contacterais bien par mail, mais tu ne me l’a pas laissé. mon mail si tu souhaite me contacter blog(at)pon.fr

  20. Salut,

    @Pike31,
    C’est normal qu’Universal Extractor ne fonctionne pas à tout les coup !
    Il faut juste rajouter le "innounp, the Inno Setup Unpacker" et copier le "innounp 0.20 beta" dans le dossier bin de universal Extractor.
    Le fichier est du nom de "innounp.exe" tu le copie dans le dossier "bin" D’Universal Extractor,tu répond oui au message de remplacer l’autre par celui la.
    Et tu verras que déja tu pourras extraire beaucoup plus de setup qu’avec la version par défaut d’Universal Extractor.

    Mais parfois les fichiers sont impossible à extraire.La tu peux le faire avec Réturnil Virtual Système.
    Tu installe le logiciel en étant sous Réturnil,tu copie les fichiers d’install,sur une autre partition ou DD externe exp… et quand tu reboote c’est comme si tu avais jamais installé de logiciel,car tu aurras fais ca,en virtuel

    Pour infos,c’est pas nécéssaire de créer la partition Virtuelle si tu as d’autres partition ou DD externe !

    Mais il n’y aura que la partition ou l’OS est installé qui sera protégé quand Réturnil sera activé.La C logiquement !

    Voila,en espérant avoir pu t’aider !

    @ +

  21. Re,

    En lisant tout les posts,j’ai eu la réponse a ma question !
    Pour ce qui concerne les ligne a supprimer dans le scrip "RegDelete".
    dsl,de ne pas avoir lu les posts avant,ca aurait évité un post pour rien !
    Je vois que si plusieurs clés sont créé à des endroits différent de la BDR,juste en inbscrivant la 1ère,cela supprimera,toute les autres ?
    Donc,si des clés sont créé sur HKEY_CURRENT_USER , HKEY_LOCAL_MACHINE,juste en métant dans le script la 1ère clé de chaque branche,cela supprimera toute les autres au nom du logiciel.
    Et parfois dans Classes,ce ne sont que des lettres et des chiffres,est ce que celles la aussi seront reconnu et supprimé ?

    Et si des dossiers sont créé sur le DD,comment faire dans le script pour que ces dossier soient rapatrié dans le dossier a coté du lanceur a la fermeture du logiciel,qu’est ce que je dois écxrire dans le script,pour supprimer ou exporter ces fichiers ou dossiers s’il vous plait ?

    Je vais continuer de me documenter et j’espère arriver a faire un lanceur,qui a la fermeture ne laissera pas de traces du logiciel utilisé.

    Merci pour tout,et d’avance pour les infos !

    @ +

  22. Salut,

    Très bon tuto,les explications sont claire !
    Je voudrais me lancer dans la portabilisation de logiciel avec lanceur,et je viens demander quelques conseils et infos.

    Mais je voudrais savoir,si exp… il y a plusieurs lignes à supprimer à la fermeture du logiciel.

    Est ce que dans le script je dois ajouter une ligne (exp… comme ceci->RegDelete("HKEY_CURRENT_USER\Software\nom du log") de chaque clefs créé dans la BDR,ou je continue a la suite de cette ligne ?

    Merci d’avance pour l’aide et les conseils !

    @ +

  23. Ok, merci. Donc je suis coincé… Universal extractor marche sur une appli sur 10 et Thinstall, guere mieux.

    Moi qui voulait me creer une appli portable de l’antivirus panda 2008. Si quelqu’un à une idée, un lien ou veut tenté, je suis preneur. a bientot.

  24. je n’ai pas thinstall et je ne souhaite pas l’obtenir. je n’ai mis ce tutoriel qu’a titre d’information, pour ceux qui pourrait se demander comment faire.

    pour la question : ‘Ca veut dire que l’on doit mettre un « ; » puis enlever le « ; » sur la 2e ligne?’ => cela veut dire : mettre un point virgule devant la première ligne et enlever celui de la deuxième ligne

  25. Je viens de me rendre compte que lorsque je clique sur Build.bat j’ai un message d’erreur au bout de quelques secondes, en bas de la fenetre noire
    "Error: GetFileAttributes for files C:documents and setting etc etc "

    Je presse alors une touche pour quitter et dans mon BIN je trouve les 2 fichiers en question…

  26. Moi ca marche pas PAPOO….

    J’ai suivi exactement ton tuto et dans mon dossier BIN j’ai 2 fichiers: 1 fichier .tvr et 1 fichier .thfd

    Juste une petite question, que veut tu dire par "commentez la ligne CompressionType=None (avec un ";" )
    et décommentez la ligne ;CompressionType=Fast ( en supprimant le ";")" ???

    Ca veut dire que l’on doit mettre un ";" puis enlever le ";" sur la 2e ligne?

    […/…](lien supprimé car non conforme avec l’idée de ce site)
    J’espere que tu va pouvoir m’aider, merci d’avance.

  27. Oui le tuto fonctionne sous xp .
    Je n’est pas Vmware pour tester je vais tacher de me procurer la version complete.
    Mais si l’on regarde bien je crois que l’on peut diminuer les dossier dans le dossier lociel de capture à 2 avant la virtualisation.
    Je ne les ai pas en téte . Mais je l’ai fait une fois.

  28. Voici un autre tutoriel pour thinstall, merci de me dire si cela fonctionne :

    utilisez thinstall 3 avec VMware sur lequel vous aurez installé un xp "propre"

    Lancez VMware et thinstall, lancez ensuite le pre-scan et installer le soft à virtualiser
    après cliquez sur post install
    à la fin, rendez vous dans le répertoire de thinstall.vs, il y a un répertoire capture.
    dans celui ci il y a un répertoire du nom du soft que vous venez d’installer.
    dans celui ci, copiez le fichier ##attribute.ini (present dans le dossier %desktop% )
    éditez le fichier Package.ini
    dans la section [Compression]
    commentez la ligne CompressionType=None (avec un ";" )
    et décommentez la ligne ;CompressionType=Fast ( en supprimant le ";")

    dans la section[Isolation]
    commentez la ligne DirectoryIsolationMode=WriteCopy
    et décommentez la ligne ;DirectoryIsolationMode=Merged

    ensuite lancez le fichier build.bat.
    Lorsque le processus est terminé, le ou les fichiers exe générés ce trouve dans le sous répertoire bin.

  29. Pour information Thinstall je ne l’ai pas payé c’est l’adresse d’un tuto espagnole qui donne un lien vers une archive en rar téléchargeable *voici le lien rapide:
    […/…](lien supprimé car non conforme avec l’idée de ce site)
    Puis on l’extraie avec 7zip.

    Voici un tuto court:
    Allez dans le dossier décompr. puis lancé "Setup capture".
    On scane 1 fois puis on install le logiciel avec les commposent

    ex: j’installe firefox je vais sur le net télecharger java et flash comme composant.

    Alors il faut retourner sur le logiciel et on clique pour qu’il re-scanne.

    Aprés on compare.
    Ensuite aller dans le dossier du logiciel puis dans le dossier capture et celui du On y trouve un fichier package pour les option (ne pas modifier de préférence…)
    Ensuite on lance "build" (un fichier bat ms dos) on attend qu’il travaille et qu’il se ferme.
    C’est terminer…
    Vos logiciel se trouve dans le dossier bin du dossier du logiciel ou se trouve d’autre dossier…
    Note:
    Les logiciel ne peuvent pas étre mi a jour.
    Mais il n’y a besoin que des logiciel dans le dossier bin à avoir.

    Ex: si je copie QUE les logiciel du dossier bin sur une clé usb Sa fonctionne les autre dosier on servie à la portabilisation avec le built…
    Tous se trouvent dans l’exe.

    J’espére que sa sera utile…
    Bon c’est tassé…

  30. Le problème de thinstall, c’est qu’il n’est pas gratuit et vu son prix (Thinstall Virtualisation Suite : 4 500 euros) je ne suis pas prêt de pouvoir me le payer :o)

  31. Bon,
    J’ai trouver une version portable et gratuit de dreamwear c’est la CS2 mais par hasard je me suis portabiliser adobe flash CS3 et sa fontionne nikel j’ai utiliser thinstall pour portabiliser peut étre ferai-je un tuto dessu un jour… Mais ou sa ….

  32. ce tutoriel n’est en effet pas le plus complet, c’est juste un bon début pour portabiliser ses premières applications. pour ce qui est de dreamweaver, il est sûrement possible de le portabiliser, mais c’est une application payante donc avec une licence qui ne permet pas grand chose et sûrement pas sa portabilisation.

  33. Est il posible de portabiliser "Adobe Dreamweaver CS3" j’ai une license mais le tuto ne mache pas car trop de pb donc j’ai choisi option 2 tuto à la fois…

  34. Bonjour,
    Ce tuto est trés bien mais il aqu’elle que défaut avec certaine aplie.
    Mais il existe un tutorielle plus long sur un autre site donc je ne donnerais pas le nom qui peu le faire mieux.

  35. Si vous avez des difficultés pour trouver les DLL utilisées par une application voici un petit utilitaire qui vous aidera :

    Exe Dependency Scanner
    Site:
    http://www.freewareweb.com/cgi-b...

    Description: ExeScan est un petit utilitaire qui vous permettra de déterminer les fichiers spécifiques supplémentaires requis par un programme sur votre système, par exemple qu’elles sont les DLL utilisées.
    Il suffit de démarrer cet utilitaire et d’exécuter l’application que vous souhaitez vérifier (cliquer le bouton Run).
    ExeScan scannera et affichera ensuite tous les fichiers et les dll utilisés à la fermeture de cette application.

    Exclusion de certaines DLL
    Les fichiers inscrit dans le fichier texte Exclude.txt ne seront pas détéctés.

    Téléchargement: [145kb]
    http://ftp.sac.sk/pub/sac/utilmi...

  36. Pour Tom

    Pour inscrire un fichier reg en mode silencieux.

    il faut utiliser ShellExecute pour lancer un programme
    externe dans Autoit.

    Mais si on ecrit et on lance :

    $val = ShellExecute("clone_reg.reg",/s, @scriptDir)

    On a le message d’alerte de regedit

    Pour eviter cela voici comment procéder,

    Dans ton script Au3 ecrit ce qui suit :

    ; Inscription automatique dans la base de registre (BDR)
    ; en mode silencieux grace au fichier inReg.bat

    $val = ShellExecuteWait("InReg.bat" ," /q", @scriptDir & "\")

    Ensuite tu crées dans le même répertoire ou se trouve le lanceur un
    Fichier batch nommé InReg.bat
    et tu copie-colles le texte ci-dessous dans ce fichier batch:

    Regedit /s clone_reg.reg

    @echo off
    <DOS app>
    @cls

    Il y aura une bréve et rapide apparition disparition
    de la console dos et le reg s’éxécutera en silence.

  37. Bonjour,

    merci pour la réponse

    Comment identifier une simple inscription dans le registre ?

    Ou bien un fichier externe ?

    Merci pour l’aide

  38. certain logiciel de sécurité ne permettent pas le lancement de regedit depuis une application. cela peut aussi venir des droits du compte que tu utilise.
    Pour la portabilisation d’applications avec numéro de série, je vais faire un peu une réponse de normand, tout dépend du niveau de protection de cette application. si il est protégé par une simple inscription dans la base de registre, pas de probleme, tu peux reussir avec cette manipulation. si c’est via un fichier externe au programme que tu peux identifier, pas de soucis non plus, auto-it permet aussi de copier déplacer des fichiers. si c’est une protection plus poussée, il ne te reste plus qu’a essayer des logiciels comme THinstall, (quoiqu’un peu cher , lol).

  39. Bonjour,

    J’ai essayé de portabiliser clone manager, mais au moment de tester le script, j’ai un message d’erreur :

    Line 1 (File "C:\chemin du script\script.au3)
    RunWait("regedit.exe /s ClonePort\reg\clone_reg.reg, @scriptDir)

    Error : Unable to execute the external programme.

    The requested operation recquires elevation

    Pour info ce programme necessite un serial à l’instalation (que je possède) en règle générale comment portabiliser de telles applications (avec serial) ?
    Merci d’avance…

  40. Bravo pour ce tutoriel qui m’a aider à réaliser des applications portables.

    Un moyen simple pour enregistrer et effacer les clefs de la base de registre Window’s depuis une application portable : Registry Rapper

    Registry Rapper est un utilitaire qui permet l’utilisation des programmes qui sauvegardent les paramètres utilisateur dans la base de registre de Windows d’être utilisés en tant qu’applications portables.

    Ce programme est un encapsulateur de registre qui prend soin d’enregistrer tous les paramètres nécessaires au lancement de l’application portable et de ne laisser aucunes traces sur le PC hôte.

    Les paramètres utilisateur du programme seront verifiés et enregistrés automatiquement à la fermeture du programme dans un fichier Reg pour une utilisation ultérieure de l’applications portable et la base de registre du PC hôte sera nettoyée de toutes traces du programme.

    Registry Rapper v1.8 Released 2006-04-24 15:26

    ===================================================

    Mode opératoire :

    1. Créer la structure suivante des dossiers de l’application portable :

    – DOSSIER SUPERIEUR (le nom que vous voulez)
    – APPLICATION (Fichiers du programme, le nom que vous voulez)
    – SETTINGS (Les paramètres utilisateurs, DOIT ETRE NOMME SETTINGS)

    2. Copier-coller tous les fichiers du programme à portabiliser dans le dossier "APPLICATION".

    3. Copier-coller le fichier RegRap.exe dans le DOSSIER SUPERIEUR.

    4. Copier-coller le fichier RegRap.ini dans le dossier "SETTINGS".

    5. Dans le fichier RegRap.ini file, inscrire ces informations:

    [DIRSETTINGS]

    PROGRAMDIRECTORY=("APPLICATION" nom du dossier APPLICATION)

    [PROGSETTINGS]

    DEVNAME=(Inscrire le nom des developpeurs ou le nom de compagnie du créateur ou du programme, qui peut être trouvé habituellement dans le menu Au sujet de ..)

    APPNAME=(Inscrire le nom de l’application qui apparait dans le menu Au sujet de ..)

    EXECUTABLE=(Inscrire le nom de l’exécutable du programme qui est dans le dossier "APPLICATION" , mais attention sans l’extention finale .EXE )

    — Si vous avez déja créer le fichier settings.reg , inscrire ce qui suit:

    [REGSETTINGS]
    REGFILE=(Placer ici le nom du fichier de Settings.reg )

    Sinon, le programme le remplira automatiquement au premier arrêt, si des paramètres utilisateurs sont enregistrés dans la base de registre de Window’s.

    Enregistrer et fermer le fichier.

    6. Le programme devrait fonctionner sans problème. Si vous surveillez le registre vous verrez que la base de registre est nettoyée à l’arrêt du logiciel.
    En outre, si le programme utilise la variable USEREPROFILE, les données seront sauvegardées dans le dossier "SETTINGS".

    Pour lancer l’application portable double-cliquer le fichier RegRap.exe.

    —— Rechercher les clefs du registre ——-

    1. Installer le programmme en local ou dans un pc virtuel (Virtual PC ou VMware).
    Si le programme n’a pas besoin d’être installé allez au point 2

    2. Utiliser Sysinternal’s Registry Monitor ou le programme RegShot (on les trouve ici
    http://www.portablefreeware.com/
    pour depister les clefs créees dans la base de registre quand le logiciel est lancé la première fois.

    3. Démarrer Regedit, explorer le registre et rechercher les clefs que le programme à créer
    (les clefs sont en générale dans le dossier HKEY_CURRENT_USER).

    4. Clic-droit et exporter la clef vers un dossier (c.-à-d. settings.reg)

    5. Ouvrir le fichier .reg que vous avez créé dans votre éditeur de texte
    préféré et copiez la clef d’enregistrement à partir de ce fichier. Ce sera
    normalement la première entrée après "Windows Registry Editor Version 5.00".
    Copier tout entre […. ] les parenthèses.

    6. Collez l’information à l’endroit suivant dans le fichier de RegRap.ini aprés le

    MANREGKEY=:

    [REGSETTINGS]
    MANREGKEY=

    7. Le programme recherchera maintenant cet endroit et enregistrera automatiquement les paramètres utilsateurs dans la base de registre.

    Ro20 vous salue bien …

  41. Salut Papoo,
    Je voudrais savoir pour AppData, DirRemove(@AppDataDir&’….) suprime le dossier, et pour le sauvegarder ce dossier que faut il mettre comme formul ?? Merci d’avance..

  42. Slt papoo. jai télécharger le logiciel mais jai constaté que cétait différent de ce que je voulais. Moi je parle de laccélérateur de téléchargement gigaget. cest sur gigaget.com

  43. Re bonjour,

    Dans le commentaire précédent, je voulais dire "ne pas faire apparaître cela" en parlant de l’icône dans la zone de notification.

    Désolé du bug…

    Merci de ta réponse

  44. Bonjour,

    Je me suis amusé à portabiliser XnView selon le Tuto. Cela fonctionne très bien, par contre, j’ai dans la zone de notification un icône de XnWiew comportant un menu déroulant indiquant Exit et Script Paused. Cela doit être normal car comme indiqué sur le Tuto le script attend l’arrêt du programme mais existe-t-il un moyen de ne pas faire aparaître cela ?

    Voici mon script pour avis et optimisation si nécessaire. J’ai ajouté une ligne pour effacer à la fermeture le dossier XnView créer dans C:\Documents and Settings\jean\Application Data.

    RunWait("regedit.exe /s XnView\reg\xnview_Reg.reg", @ScriptDir)
    RunWait("XnView\xnview.exe")
    RunWait(‘regedit.exe /s /e "’ & @ScriptDir & ‘\XnView\reg\xnview_Reg.reg" "HKEY_CURRENT_USER\Software\XnView" ‘)
    RunWait(‘regedit.exe /s /e "’ & @ScriptDir & ‘\XnView\reg\xnview_Reg.reg" "HKEY_LOCAL_MACHINE\SOFTWARE\XnView" ‘)
    RegDelete("HKEY_CURRENT_USER\Software\XnView")
    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\XnView")
    DirRemove( @AppDataDir & ‘\XnView’, 1)

    Merci de ta réponse.

  45. Malheureusement ce n’est pas un freeware, je ne m’attaque qu’aux logiciels gratuits, pas trop envie d’avoir les ayant droits sur le dos. Désolé

  46. J’essaie de portabliliser cette application FileSee mais il y a trop de choses modifiées dans les registres. Pourriez-vous essayer de voir si c’est faisable ?

  47. @splendid : ce script autoIt est très (trop) simple. en effet il écrase les paramètres d’une installation précédente sur le PC hôte. J’utilise maintenant un script NSIS pour sauvegarder et restaurer une installation (voir le billet sur Portable kdiff)
    @momo : je n’ai testé thinstall qu’une fois (j’ai pas les moyens) en version trial. ce n’est pas de la portabilisation mais de la virtualisation. (répertoire program files et registre virtuel, etc) c’est donc forcement beaucoup plus lourd qu’un petit lanceur d’une 40 de ko.
    @ludo : commenter = mettre un ; devant la ligne, décommenter = enlever le ; devant la ligne

  48. Salut, je me suis penché sur ton tuto avec thinstall et que veu tu dire par:
    "edite le fichier Package.ini
    dans la section [Compression]
    commente la ligne CompressionType=None (avec un ; )
    et decommente la ligne ;CompressionType=Fast"
    Commente et decommente c’est quoi ? Merci
    Tu peu m’envoier un exemple a mon adresse si tu veu…

  49. salut
    conceranant la methode utilisant thinstall il ya aussi un autre inconvinient c’est la taille de logiciel portable obtenue parfois c’est le triple de la taille de logiciel installable . est ce qu’il ya une solution a cet inconvinient ?
    mercii

  50. merci c’est tres interessant , seulement je viens d’essayer de realiser le meme travail avec une autre methode en utilisant "thinstall" . je trouve que cette deuxiemme methode est tres facile , rapide et on a pas besoin de cree des patch
    rien , y’a le logiciel qui fais tout , je ne sais pas si tu a essayer cette methode mais vraiment un jeu d’enfant.
    le seul inconveniant c’est que le "thinstall" est payant. mais bon…

  51. Bonjour,
    Ce tuto est très intéressant, je cherche à faire des appli portables.

    Dans le cas où le soft est déjà installé sur le pc, et qu’on fait un RegDelete dans le script, ça ne risque pas d’effacer toute la config précédente?

    Sinon y a t il un moyen d’enregistrer les paramètres avant d’inscrire les siens, puis de les restaures à la fin?

    En tout cas merci c’est super utile tout ça :)

  52. Merci..Une autre question : Dans le fichier bat. je peu rajouter une ligne pour recuperer des fichiers dans " fichiers communs"
    echo Copie des fichiers de %ProgramFiles%\%fichiersCommuns%\%LOCALDIR% ?? MERCI.

  53. un exemple pour le regdelete :
    si plusieurs clés commencent par la meme chose genre :
    HKEY_CURRENT_USER\Software\lesoft
    HKEY_CURRENT_USER\Software\lesoft\blabla
    HKEY_CURRENT_USER\Software\lesoft\blabla\hophop

    seule la premiere ligne suffit, cela effacera toute l’arborescence de cette clé.
    /!\ attention à ne pas mettre dans le regdelete que
    HKEY_CURRENT_USER\Software\
    cela aurait pour effet de planter irremediablement votre windows.

  54. bonsoir, donc si je comprend bien,dans le fichier "reg", on met le resultat de "regshot" des clés et valeurs ajoutées et aussi dans le script, mais dans le script on met pour chaque clé et chaque valeur ajouté la quatriéme ligne "regdelete" ou bien juste pour les clés ?? et pour chaque clé, on réécrit les 4 ligne ou juste la quatriéme ?? Dur de faire court et claire… Merci

  55. AU3 est l’extention du fichier projet d’autoIt. c’est donc necessaire pour que AutoIt reconnaisse le fichier au moment de la génération du fichier exe.
    Pour répondre à ta deuxieme question, autoIt est très bien pour generer un lanceur simple. Pour faire un lanceur plus compliqué, beaucoup travaillent avec NSIS.

  56. Salut papoo, j’ai pas mal de tes porables trés cool, je vai essayer de faire IE PrivacyKeeper, suis je obligé de mettre" au3" si je veu le portablilser sur une clé simple ou un disque ? et existe t’il d’autre façon de rendre un log, plus complex, portable ?

  57. bonjour!

    Merci pour ce magnifique post, j’essai de portabiliser mindmanager 7.0 pro et je n’y arrive pas du tout. Lorsque universel extrator, il "extract" tout dans le répertoire voulu mais je suis incapable par la suite de lancer l’application

    merci de me guider dans mon processus

  58. bonjour,
    Comment faire pour vous envoyer les applications mobiles que j’ai crées grâce à votre tuto??? Elles pourraient peut-être servir à d’autres personnes, si vous acceptez de les rendre disponibles sur votre site…

  59. Le problème c’est qu’AutoIt est beaucoup trop complexe pour moi qui ne sais pas programmer. C’est pour cela que je cherche de l’aide, si cela est possible ?.
    Merci
    Gilles

  60. AutoIt est capable d’inscrire dans la base de registre avant le lancement de l’application, mais il est aussi capable de déplacer 2 fichiers dans le répertoire windows. du PC hote via la commande FileMove : autohotkey.free.fr/docs/c…

  61. Je cherche à portabiliser le freeware Quizfaber pour lequel j’ai déjà traduit le mode d’emploi et je viens de traduire l’interface en français. L’auteur italien est injoignable.
    A l’install, il modifie le registre (vu avec regshot) et crée dans Windows deux fichiers ini (qmake et qfaber). Impossible à portabiliser avec Universal Extractor.
    Qui peut m’aider à le portabiliser mais je ne sais pas coder…
    Merci
    gilles.badufle_ac-caen.fr

  62. Aucune de ces clés n’est exploitable. dites moi le soft que vous tentez de portabiliser afin que je tente de le faire.

  63. bonjour,
    effectivement je l’ai déjas installer le problème s’est que je ne peux pas le décomprésser avec uniextrac donc je l’ai installer et copier le dossier et s’est a partir de la que j’essaille de le portabilisé
    vous pouver peut etre méclerci sur ses point j’auptien seci peut en faire quelque chose ou pas merci d’avance

    Valeurs modifiés:2
    ———————————-
    HKLM\SOFTWARE\Microsoft\Cryptography\RNG\Seed: 6D A5 D7 FB 17 ED A7 2C 63 CD 9D CE F5 48 8D 9E 1C F9 80 CA F8 9D 29 E5 87 6C 76 56 05 E7 E1 1A 0D CE 2E 00 3F 2C 00 7F 50 A9 A5 B5 30 10 32 5B 40 0F 4B F8 37 5B F3 B6 DD 98 A4 5F 37 FD B9 57 9D 33 2B 92 27 3D CD C8 4D 2C D6 DF 3C AE F9 5E
    HKLM\SOFTWARE\Microsoft\Cryptography\RNG\Seed: 1C 5E EA 92 C6 57 50 7C 1D 4A 0B A4 63 F8 93 96 3C C8 C6 ED 0D 32 5F EF 7B 39 0C 54 19 12 15 61 90 28 C3 8E 6F 33 8D 4E AF B1 A0 E6 77 4B EC 13 2A 50 55 9D 55 0E C9 DA 5B AA 94 39 7E 83 C8 D7 56 F6 D1 21 64 89 94 3A 5A 65 B9 EF 1A ED 22 D8
    HKU\S-1-5-21-3246746927-17265239-1275738965-2711\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\SavedLegacySettings: 3C 00 00 00 6A 01 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 D0 3E A1 58 8E 81 C7 01 01 00 00 00 AC 11 64 28 00 00 00 00 00 00 00 00
    HKU\S-1-5-21-3246746927-17265239-1275738965-2711\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\SavedLegacySettings: 3C 00 00 00 6B 01 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 D0 3E A1 58 8E 81 C7 01 01 00 00 00 AC 11 64 28 00 00 00 00 00 00 00 00

    ———————————-
    Fichiers [attributs?] modifiés:2
    ———————————-
    C:\WINDOWS\system32\config\software.LOG
    C:\WINDOWS\system32\config\system.LOG

  64. Peut etre que vous aviez deja installé ou essayé ce logiciel. L’idéal serait de faire des comparaisons sur un systeme juste installé ou en environnement virtuel (sous VMware par exemple)

  65. bonjour,

    j’essaille de portabilisé un programme mais losque je fais une compareson des scipt je n’ai pas de clé mais que des valeur modifier de plus dans ses valeur modifier
    pouver vous meclaircir sur ce point

    merci d’avance

  66. oui ainsi que dans le script autoit afin de les effacer lorsque l’on ferme l’application

  67. en fait il faut garder toutes les clés du registre créées par le logiciel à portabiliser

  68. Bonjour je voudrais savoir comment vous savez quel clé du registre il faut garder?

  69. Salut OphyTe,
    je pense qu’il est très difficile de portabiliser WLM avec cette methode, par contre il existe des versions "virtualisées" de WLM.

  70. Salut,
    Je voulais savoir si c’était possible de portabiliser Windows Live Messenger. J’ai essayer de suivre le tuto mais ça a buggué dès la 1ère étape: Universal extractor me demandait quelle méthode choisir (?!?) j’ai testé les 2 qu’il me proposait sans succès …
    Peut-être que d’autres auront eu plus de chance que moi, si c’est le cas faites le savoir s’il vous plait.
    Merci

  71. Bonsoir,
    L’executable généré par auto2exe n’est que le lanceur du logiciel à portabiliser, il ne se substitue pas à lui. Il faut donc le garder et non le supprimer. et lorsque vous souhaitez utiliser le logiciel sur un autre support, il vous faut déplacer le lanceur et le logiciel.

  72. Bonsoir et merci de votre réponse !
    J’ai fait des essais sur HeidiSQL (dont je n’airais pas l’utilité) mais j’obtiens toujours ce message : "Unable to execute the external program" lorsque je déplace l’EXE final ou lorsque je jette le dossier source (dans notre cas HeidiSQL).
    Pourtant j’ai suivi pas à pas ce tuto !!!

  73. Merci de votre réponse rapide !

    J’ai fait des tests avec différents logiciels (picajet, avi joiner, speedfan, etc) et j’obtiens toujours ce message : "Unable to execute the external program" (il m’apparait également au moment de tester le script avec autoIT3 mais je passe quand même à l’étape Auto2exe).

  74. Merci de votre réponse rapide !

    J’ai fait des tests avec différents logiciels (picajet, avi joiner, speedfan, etc) et j’obtiens toujours ce message : "Unable to execute the external program" (il m’apparait également au moment de tester le script avec autoIT3 mais je passe quand même à l’étape Auto2exe).

  75. Quelle application essaie tu de portabiliser?
    il est possible que celle ci enregistre l’emplacement du logiciel lors de son lancement. Edite le fichier .reg ou poste le voir ce qu’il contient

  76. Bonsoir et Bravo pour ce tuto !!!
    J’ai suivi pas à pas toutes les étapes de la "Portabilisation" d’une application et mon fichier EXE obtenu fonctionne parfaitement.
    Mais lorsque je l’exécute d’un autre emplacement (ex: dans un dossier ou depuis un autre support) un message d’erreur apparait ???

  77. Oui moi je suis pas trop d’accord non plus sur le terme portable, pour moi une application ou un programme portable ne se résume pas au seul ordinateur mais plutôt au système hôte mais bon je chipotte sur les mots par exemple d’un PC windows a un autre PC windows j’aurai appelé cela déplaçable par contre d’un PC windows vers un PC linux j’aurais dit portable. En tous les cas bon article.

  78. excellente définition, Jer, je n’aurais pas fait mieux
    B@rberousse, c’est tout l’interet de ce script qui permet via la commande RegDelete de supprimer la clé spécifiée ainsi que toutes ses sous clés. Nettoyant ainsi la base de registre après l’arret de l’application portabilisée.

  79. Le deuxième intéret d’une application "portable", c’est aussi qu’elle soit "discrète". Autrement dit qu’elle ne laisse pas de trace sur l’ordinateur hôte… J’ai bien peur que ce type d’inscription ne soit pas un modèle de discretion… A moins, bien sûr, que la desactivation de la clef USB efface l’inscrition en BDR.

  80. la notion de portabilité logicielle réside dans la faculté d’un logiciel de fonctionner sans nécessité d’installation sur un système défini, d’être donc transportable d’un ordinateur hôte à un autre.

Laisser un commentaire