Création d'un fichier bat [RESOLU] - Logiciels d'entreprise - Systèmes & Réseaux Pro
Marsh Posté le 07-08-2015 à 11:11:25
Pourquoi "ensemble" ?
La BDD doit être démarrée avant l'applicatif, non ?
Marsh Posté le 07-08-2015 à 11:29:53
Le truc est que l'extension de la base de donnée est associée au logiciel.
Si je lance la BDD avant, elle va lancer le logiciel qui lui va me retourner des problème de création de fichier car 4Dserveur.exe n'est pas lancé.
Il me faudrait lancer 4Dserveur.exe en association avec radiolog.4DC
Merci pour ton aide
Marsh Posté le 07-08-2015 à 13:22:43
Perso déjà j'utiliserais la commande SLEEP plutôt que le ping pour faire les pauses
Ensuite le move plutôt qu'un copy, bof. L'idéal étant un robocopy pour du batch d'installation
Enfin tu es le développeur du logiciel non ? Tu ne peux pas faire un démarrage en ligne de commande avec en paramètre un fichier défini à ouvrir ? Un genre de "blabla.exe monfichier.ext" ? C'est un peu la base de prévoir des paramètres de ligne de commande, ne serait-ce que prévoir une option -debug avec un trace interne du fonctionnement.
Marsh Posté le 07-08-2015 à 14:27:06
Bonjour,
Merci pour vos réponses Non je ne suis pas du tout développeur, et je ne sais pas faire de fichier msi.....
Le -debug je le place ou dans mon script ?
Le but étant de lancer le fichier installer.bat via OCS de manière à pouvoir le déployer sur l'ensemble de nos clients.
J'ai remarqué par ailleurs, que la fonction exécuter d'OCS utilise le dossier temporaire de Windows alors que le script est lancer dans le dossier Stock.... Bizarre là je comprends pas
Pourtant le but est simple arrêt de l'exe copie des fichiers et redémarrage de l'exe avec sa BDD....
N'est il pas possible de lancer la BDD en la liant avec 4Dserveur ?
Car si je lance juste la BDD dont l'extension est associé à 4Dserveur.exe, celui ci se lance mais une fois ouvert il se ferme...
Marsh Posté le 07-08-2015 à 14:40:50
Sinon j'ai un exe dans le dossier stock qui regroupe l’ensemble des fichiers énumérés au début. Il fait l'installation tout seule mais le problème c'est que quand je l'exécute via un la fonction exécuter d'OCS il me dit "Installer.bat introuvable".
Le problème est l'agent exécute le script dans un dossier temporaire de Windows....
Quelqu'un sait-il si il y a une option d'OCS pour palier à ce problème ?
Marsh Posté le 07-08-2015 à 14:50:54
Petit détail de taille, vous l'aurez compris que le script doit être exécuté dans le dossier Stock.....
Marsh Posté le 07-08-2015 à 15:25:42
Il est pas possible de lancer un fichier exe avec un fichier ?
Marsh Posté le 09-08-2015 à 00:05:37
Justement c'est de ça que je te parle... Tout dépend de ton application, nous on ne l'a pas donc on ne peut pas te le dire.
Pour ton problème avec OCS, je te conseille de regarder sur leur wiki (étant sur tablette là...) pour que tu vois les procédures de déploiement logiciel.
Marsh Posté le 09-08-2015 à 20:48:50
bardiel a écrit : Justement c'est de ça que je te parle... Tout dépend de ton application, nous on ne l'a pas donc on ne peut pas te le dire. |
Merci Bardiel pour ton implication !!
Je vais essayer d'avoir plus d'information sur le logiciel en question... Mais une chose est sur c'est que les fichier 4Dserveur.exe doit ce lancer avec .4DC car son démarrage dépend de lui. A l'heure actuel, j'arrive à le lancer mais il me demande au lancement de valider la base de donnée (Juste un "ok" à faire) mais le but est que ce soit automatisé et que je puisse déployer la mise à jours sur plusieurs serveurs sans intervention humaine. C'est là qu'arrive le problème avec OCS....
Pour OCS ça devient plus compliqué, car j'ai longuement épluché le wiki j'ai même un bouquin sur OCS mais il n'y a évidemment pas mon cas.
Disons que je dispose de deux cas de figure ;
Le premier c'est que je dispose d'un fichier .exe qui réuni ces fichiers et qui exécute automatiquement le fichier .bat:
Radiolog.4DC
Radiolog.PDF
Radiolog.ctrl
v40-01072015.exe
cacert.pem
instaler.bat
Note: Ces fichiers doivent être exécutés dans un dossier bien particulier
Si je déploie en utilisant la fonction "lancer" du fichier .exe pour déployer, lors du déploiement (Installation) j'ai un message d'erreur me disant qu'il ne trouve pas install.bat qui est censé se trouver dans le dossier qui sert à la mise à jour. Donc j'en conclu et eu confirmation que OCS utilise le dossier TEMP de Windows pour installer ce que l'on déploie en "Lançant" un exe avec OCS.
Le deuxième cas de figure est que j'utilise deux fonctions différentes d'OCS. Dans un premier temps, je déploie les fichiers énumérés précédemment (Décompresser de l'exe) en utilisant la fonction "stocker" qui consiste à déposer un/des fichier(s) ou dossier à un endroit dans l'arborescence du disque dur du destinataire du paquet.
Une fois avoir "déposés" les fichier à l'emplacement ou ils doivent être exécutés, je lance la fonction "exécuter" pour aller exécuter le fichier .bat qui est dans le dossier.
C'est là ou sont mes problèmes de fichier bat
Encore merci bonne soirée
Marsh Posté le 09-08-2015 à 20:54:02
Et ton idée de -Debug m'intéresse mais je ne connais pas
Marsh Posté le 10-08-2015 à 21:22:04
Loganfox a écrit : Et ton idée de -Debug m'intéresse mais je ne connais pas |
Non mais là je parlais au niveau développement...
Marsh Posté le 19-08-2015 à 15:29:17
Bonjour,
Je clos le sujet car le développeur de l'entreprise a modifier la structure de son paquet.
Merci a vous !
Marsh Posté le 19-08-2015 à 18:42:35
J'espère qu'il a mis en place quelque chose de bien moins crade que toi
Marsh Posté le 19-08-2015 à 22:58:59
Sympa merci je tâcherai de lui demander. Comme ça tu sauras quelque chose dons tu en à rien à faire. Pour quelque chose dont j'en ai rien à faire.....
Comme toi ce soir.
Merci de ton passage et tes super conseils.....
Marsh Posté le 07-08-2015 à 10:51:28
Bonjour,
Je suis dans une entreprise de développement de logiciel pour médecin, et nous voulons mettre à jour notre logiciel sur nos clients qui ne sont pas dans un domaine. Nous gérons notre parc via OCS Inventory.
Notre mise à jour comprend 6 fichiers avec une base de donnée dont un septième qui est un script en batch....
Celui ci permet de stopper notre logiciel de copier les fichiers de mise à jours dont la base de donnée et de le relancer après la copie des fichiers.
Mon problème est le lancement, en effet le lancement doit ce faire avec le fichier de base de donnée plus l'exe du logiciel.
Voici lke contenu du fichier .bat:
;Arrêter le processus en cours
"D:\STOCK\ARServerStop.exe"
PING 1.1.1.1 -n 1 -w 60000 >NUL
taskkill /IM 4DServer.exe /F
;Suppression des anciens fichiers
del "D:\xxxxxxxx Radiologie\WIN4DX\Backup.*" /q
del "D:\xxxxxxxx Radiologie\WIN4DX\MD*.*" /q
del "D:\xxxxxxxx Radiologie\WIN4DX\DS_.*" /q
del "D:\xxxxxxxx Radiologie\WIN4DX\DS\DS_*.*" /q
del "D:\xxxxxxxx Radiologie\Radiolog.RAP" /q
del "D:\xxxxxxxx Radiologie\Radiolog.MAI" /q
del "D:\xxxxxxxx Radiologie\Radiolog.NO_MAJ_DATA" /q
;Copie des nouveaux fichiers
move /Y "D:\STOCK\Radiolog.4DC" "D:\xxxxxxxx Radiologie\"
move /Y "D:\STOCK\Radiolog.PDF" "D:\xxxxxxxx Radiologie\"
move /Y "D:\STOCK\Radiolog.ctrl" "D:\xxxxxxxx Radiologie\"
move /Y "D:\STOCK\v40-01072015.exe" "D:\xxxxxxxx Radiologie\CCAM\"
move /Y "D:\STOCK\cacert.pem" "D:\xxxxxxxx Radiologie\Outilscacert.pem"
;Redémarrage du logiceil avec sa base de donnée
Start "" "D:\xxxxxxxx Radiologie\CCAM\v40-01072015.exe"
Start "" "D:\stock\RESIP_3531.exe"
Start "" "D:\xxxxxxxx Radiologie\4DServer\4DServer.exe" > Logiciel
Start "" "D:\xxxxxxxx Radiologie\Radiolog.4DC" > Base de donnée
En gros les deux dernières lignes doivent se lancer ensemble.
Es ce que quelqu'un peut m'aider ?
Merci d'avance
Cordialement,
Message édité par Loganfox le 19-08-2015 à 15:29:47
---------------
Le savoir est la seule matière qui s'accroît quand on la partage "Socrate"