pour créer un assistant d'install avec IExpress et/ou *.bat [help] - Shell/Batch - Programmation
Marsh Posté le 11-06-2010 à 13:24:02
J'ai un peu plus potassé
je subodore que si %CD% ou %~dp0 ne fonctionne pas cela pourrait venir du fait de l'utilisation de IExpress qui lance le setup.bat
On dirait que IExpress décompresse en créant une sorte de fichier TMP dans le même répertoire (TEST) où se trouve montoto.exe, fichier qui serait une sorte de mémoire tempon effacée ensuite à la fin de l'execution de montoto.exe effaçant du même coup tous les fichiers décompressés de l'archive
si c'est bien ainsi que ca fonctionne, alors le setup.bat serait executé en mémoire, ce qui expliquerait que %CD% ou %~dp0 n'apporte pas l'effet voulu
Quelqu'un voit il une solution en post-traitement ou directement dans le setup un moyen d'obtenir le chemin du répertoire d'origine? ou manipulant la mémoire peut être?
J'ai essayé ceci aussi comme ligne 2
copy toto.jpg toto.jpg
mais toto.jpg ne se retrouve pas dans TEST à la fin
avec .\ pas mieux apres je sais pas si ..\ fonctionne sous XP ou peut etre ~\? qu'en pensez vous?
autres pistes:
certaines personnes suggérraient qu'il faudrait utiliser directement les mots anglais (Desktop, My Documents) pour qu'universalement cela supprime le problème de la langue
quelqu'un a t'il confirmation?
par ailleurs: j'ai vu que cette information se trouve dans la clé:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
comment écrit on dans le bat, pour pouvoir récupérer la valeur de cette clé?
Marsh Posté le 01-07-2010 à 19:09:56
Une petite usine à gaz pour récupérer les définition de répertoire dans le registre :
@ECHO OFF |
Ce qui donne sur mon PC :
Folder_Administrative_Tools=C:\Documents and Settings\Jean-Pierre\Menu DÚmarrer\Programmes\Outils d'administration |
Jean-Pierre.
Marsh Posté le 01-07-2010 à 19:22:37
tain mais tu tapes set en ligne de commande et tu a la liste des variables systeme les plus utiles et ensuite tu les utilises de cette manière :
%mavar%
ex :
[code]
echo %WIN_DIR%
echo %PROGRAM_FILES%
Marsh Posté le 01-07-2010 à 22:15:44
merci Aigles je vais voir pour adapter si je m'en sors
pour gatsu35, j'entends bien ce que tu dis mais dans les variables d'environnement prédéfinies, il y a
le homepath sur l'utilisateur courant, le dossier temporaire, le dossier systeme, celui des programmes files ou des applications data , le userprofile, entre autre
mais il n'y a pas le bureau de l'utilisateur courant (certe c'est un sous dossier qui s'appelle bureau dans les versions françaises et traduit dans la langue pour d'autres version, mais justement la langue n'apparait pas dans les variables d'environnment)
il n'y a pas non plus mes documents vu que ca suit la meme règle du langage de l'os
il n'y a pas non plus le repertoire en cours où a été enregistré le setup et %~dp0 ne me le retourne pas, probablement du à ma suggestion que le tout est executé dans un repertoire virtuel en mémoire qui se détruit ensuite
d'où l'aide que je suis venu vous demander
a savoir
Sinon j'ai demandé au bureau qu'on me fournisse InstallShield, une version plus complète que IExpress mais pour le moment je comprends pas grand chose à son paramétrage ne serait ce que dans un premier temps pour obtenir une version similaire que ce que j'ai expérimenté avec IExpress
a+
Marsh Posté le 02-07-2010 à 07:51:13
Si tu veux faire un truc d'installation, surtout, mais alors surtout oublie le batch, et oublie IExpress.
Tu ne voudrais pas plutot utiliser de vrais trucs genre innoSetup ou NSIS qui sont largement plus puissant.
Pour ton cas innosetup fera très bien l'affaire.
Mais je ne vois pas trop pourquoi tu cherches le bureau de l'utilisateur ? tu veux y faire quoi ? car pour moi un programme d'installation qui touche à mon bureau il va se faire foutre. Je l'autorise seulement à mettre un raccourci de mon programme.
Marsh Posté le 03-07-2010 à 12:17:49
ok merci gatsu35 je vais voir ce que je peux arriver à faire avec innoSetup
ps je cherche pas à atteindre particulierment le bureau mais plutot le repertoire d'origine où on sauvegarde l'installateur avant de le lancer
de ce que j'ai compris en batch ~dp0 aurait pu m'aider et IExpress était relativement simplifié pouvant correspondre à mon attente c'est pour ca que j'etais parti la dessus
Maintenant je ne sais plus trop vers quelle solution aller vu qu'avec celle que j'ai essayée j'arrive pas à atteindre une partie des repertoires que je souhaite
Marsh Posté le 03-07-2010 à 13:27:59
nan mais arrête avec tes batchs tout pourris moisis et utilise de vrais installeur. le batch c'est mort
Marsh Posté le 09-06-2010 à 15:26:59
Bonjour tout le monde
j'avais pas vu que la catégorie programmation/shell-batch existait (elle n'apparait pas sur la page d'accueil forum.harware.fr)
du coup j'ai ouvert mon debut de post dans Windows & Software/WinXP
http://forum.hardware.fr/hfr/Windo [...] 7579_1.htm
j'ai fait de nouveaux essais voici un extrait de mon setup.bat
1. @echo off
2. copy toto.jpg C:\toto.jpg
3. copy runtoto.exe C:\runtoto.exe
4. toto.exe
5. cd %~dp0
6. move C:\toto.jpg toto.jpg
7. move C:\runtoto.exe runtoto.exe
8. cmd /C toto.jpg
je compresse donc toto.jpg runtoto.exe et toto.exe et setup.bat avec IExpress 2.0 dans un fichier montoto.exe
et je paramètre pour installer setup.bat
et lancer en post install runtoto.exe
ca copie rien dans ce dossier TEST
j'ai aussi essayé avec %CD%
et avec cette ligne en plus aussi set loc=%CD% en debut de setup et rien y fait je n'arrive pas copier dans le dossier de départ
par contre avec %USEPROFILE% ca marche mon dossier TEST est dans %USERPROFILE%\<Bureau>\
Mai j'ai des repertoires Bureau en français, en anglais, en espagnol
j'ai cherché aussi sur le net comment obtenir le chemin de mes documents des users mais j'ai rien trouvé de bien clair
avez vous des suggestions soit:
ou encore autre alternative
Par avance merci de vos aides et suggestions
Message édité par tintin34 le 09-06-2010 à 15:40:43