Pour répondre à une problématique pro, je cherche à créer un fichier exécutable qui répondrait à plusieurs critères :
Extraire un des fichiers à un emplacement prédéfini
Extraire un .zip dans ce même emplacement (le .exe compile un fichier qui se trouve déjà être une archive pour des raisons pratiques, si ce point n'est pas possible je finirai par me rabattre à ce que les fichiers soient déjà dézippés)
Exécuter un setup en .msi pour installer une dépendance
Modifier un fichier .bat en fonction d'un prompt utilisateur
Après pas mal de recherches, je me suis orienté sur l'outil IEXPRESS, car je pense que la création d'un exécutable complété par un fichier INF pourrait répondre au moins aux premier et troisième critères. (Si quelqu'un a une autre solution je suis complètement preneur, mais j'avoue que ça m'a donné envie de vouloir maitriser un peu + cet outil)
Et.. Je galère, je suis pas développeur de métier. J'ai réussi à répondre au premier critère avec la section [DestinationDirs]et la directive install.files (hésitez pas à me corriger si les termes sont pas les bons). Je crois qu'il est possible de répondre au troisième critère avec la directive AddSoftware. Pour le reste je patauge
Histoire de vous montrer où j'en suis même si c'est pas grand chose, voici à quoi ressemble mon fichier .inf :
extraction.bat c'est un script pour extraire le app.zip que je pensais innocemment pouvoir inclure dans le .exe Au passage, je me suis renseigné concernant cette histoire de signature. Tout le monde met chicago alors j'ai mis aussi, mais si quelqu'un a des explications plus approfondies je suis preneur également
Je ne vois pas bien l'utilité du .inf dans ton cas, qu'est-ce qui t'empêche d'extraire des fichiers à un emplacement prédéfini ?
Comme dit par umfred il vaudrait mieux passer au .bat le ou les paramètres plutôt que le modifier.
Pour exécuter un .msi il y a la commande msiexec
Si le fichier .zip n'est pas trop gros tu peux le fusionner dans le .bat grâce à un outil externe, un peu à la manière d'un .exe qui incorpore d'autres fichiers.
“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
J'ai fait le .bat, je comprends pas pourquoi il ne faut pas que je le modifie ? Merci pour les logiciels, je regarde de ce côte aussi
barnabe0057 a écrit:
Je ne vois pas bien l'utilité du .inf dans ton cas, qu'est-ce qui t'empêche d'extraire des fichiers à un emplacement prédéfini ?
D'après mon utilisation dessus, IEXPRESS me laisse le choix entre créer un exe qui demande à l'utilisateur où extraire les fichiers, ce que je ne veux pas, ou créer un exe qui s'extrait dans un %temp%/IX001 quelque chose (oublié, oups) et qui peut se manipuler via un fichier .inf, il faut aussi que je réponde aux autres critères que j'ai énoncé
barnabe0057 a écrit:
Comme dit par umfred il vaudrait mieux passer au .bat le ou les paramètres plutôt que le modifier.
Pour exécuter un .msi il y a la commande msiexec
Si le fichier .zip n'est pas trop gros tu peux le fusionner dans le .bat grâce à un outil externe, un peu à la manière d'un .exe qui incorpore d'autres fichiers.
Je ne comprends pas quand vous me parler de modifier le bat, c'est bon à savoir que je peux exécuter du msi depuis le bat ceci dit.
Finalement, si je peux être plus clair, le but est d'avoir un installateur qui soit automatisé et qui laisse le moins de choix possible à l'utilisateur autre que le prompt que je mentionne.
un .bat c'est un script, donc tu peux faire pas mal de chose. il peut prendre des paramètres lors de son appel, et les traiter (comme le ferait une commande en ligne de commande)
C'est toi qui initialement demande à modifier un .bat par ton programme; il vaut mieux que ton .bat prenne en charge un ou plusieurs paramètres (variables) et les intégrer au code du .bat; ou d'avoir un .bat différent par situations possibles
fichier.bat param1 param2 param3
Que peut faire l'utilisateur via le prompt et le .bat ?
Le .bat que je souhaite modifier contient une adresse IP vers un serveur distant qui est différente en fonction du site, je souhaitais avoir un prompt utilisateur pour qu'il puisse modifier l'adresse du serveur contenue dans ce .bat. Il sert à lancer un autre programme contenant ces paramètres.
Sous Linux je fais avec sed, mais sous Windows j'espérais faire avec ce .exe
1) Je n'ai pas bien expliqué mon idée, là où je voulais en venir c'est qu'apparemment tu galères à programmer le fichier .inf donc ma question c'est : pourquoi ne pas laisser tomber le .inf et plutôt programmer tout ça directement dans ton .bat ? Si je propose cela c'est parce que que j'ai déjà créé ce genre d'installateur avec IEXPRESS.
2) Concernant le prompt utilisateur : ne serait-il pas possible que le .bat devine de lui-même (en analysant le réseau par exemple) l'adresse ip vers le serveur distant ?
“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
1) Je n'ai pas bien expliqué mon idée, là où je voulais en venir c'est qu'apparemment tu galères à programmer le fichier .inf donc ma question c'est : pourquoi ne pas laisser tomber le .inf et plutôt programmer tout ça directement dans ton .bat ? Si je propose cela c'est parce que que j'ai déjà créé ce genre d'installateur avec IEXPRESS.
Ah oui ? J'avais essayé de mettre un .bat en install program et ça avait pas du tout fonctionné, tu as un exemple de ce que tu aurais fait ? Effectivement je galère pas mal avec le .inf mais si je repasse en bat j'aurai beaucoup plus de bases déjà !
barnabe0057 a écrit:
2) Concernant le prompt utilisateur : ne serait-il pas possible que le .bat devine de lui-même (en analysant le réseau par exemple) l'adresse ip vers le serveur distant ?
Hm non c'est pas assez bien uniformisé pour ça.. Mais si déjà je peux faire un bat avec un msiexec comme tu me mentionnais je serai jamais allé aussi loin aha
A propos du $CHICAGO$, c'est pour désigner les OS windows (à l'époque c'était pour les windows 9x, mais aujourd'hui étendu à tous les windows) https://en.wikipedia.org/wiki/INF_file
Ceci me sert dans le cadre de mon projet d'installation semi-automatisée d'un outil d'administration à distance (connexion VNC à travers un tunnel SSH inverse).
Si tu veux visualiser le script en détail, il faut télécharger le zip et regarder dans le fichier setup.cmd : https://we.tl/t-bUqiPTLcK3
Si tu as des questions n'hésite pas.
“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
A propos du $CHICAGO$, c'est pour désigner les OS windows (à l'époque c'était pour les windows 9x, mais aujourd'hui étendu à tous les windows) https://en.wikipedia.org/wiki/INF_file
Ceci me sert dans le cadre de mon projet d'installation semi-automatisée d'un outil d'administration à distance (connexion VNC à travers un tunnel SSH inverse).
Si tu veux visualiser le script en détail, il faut télécharger le zip et regarder dans le fichier setup.cmd : https://we.tl/t-bUqiPTLcK3
Si tu as des questions n'hésite pas.
C'est super cool, je regarde ça dès que j'ai du temps !
Création d'exécutable et fichiers INF
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”