HanzPeterMariol
Messages postés16Date d'inscriptionmercredi 17 septembre 2008StatutMembreDernière intervention18 septembre 2008
-
17 sept. 2008 à 10:30
gillardg
Messages postés3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 2014
-
18 sept. 2008 à 14:04
Bonjour à tous,
J'ai une appli VB.NET qui exploite des tas de programmes (en vc++) selon sur quels boutons on clique. J'ai ajouté à mon appli en tant "qu'élement existant" tous les .exe dont j'ai besoin. A cela j'ai ajouté mes fichier de données à exploiter. Mais quand j'installe mon appli sur un autre ordinateur, au moment de l'appel d'un programme, l'application bug et me renvoie :
************** Exception Text **************
System.IO.FileNotFoundException: File not found.
at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout) //voir pathname ci-après
at ConsoleApplication1.Dialog1.Button9_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Ma ligne 129 étant : Shell("Extraire_variables_1.exe")
Programme qui commence par : (en vc++)
int main(){
cout<<"Le problème vient de moi"<<endl;
......
Phrase qui n'apparait pas dans la CLI, ce qui signifie que le problème est vraiment directement lancé par l'appel du Shell.
Je ne sais pas d'ou ca vient, c'est le premier applicatif que je déploie et là je bloque.
Si vous avez des idées, je suis tout ouïe, merci d'avance.
gillardg
Messages postés3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 20142 17 sept. 2008 à 11:22
1 es tu sur que tu as déplyé tous les programmes (*.exe) dont tu as besoin
2 dans quel path
3 quelle est la ligne de code qui pose problème ?? ( si si ça peut aider)
HanzPeterMariol
Messages postés16Date d'inscriptionmercredi 17 septembre 2008StatutMembreDernière intervention18 septembre 2008 17 sept. 2008 à 11:49
!(life)
Voila l'archi du projet. Comme tu peut le voir la fonction Extraire_variables_1.exe doit se situer avec Super Awesom-O.exe (j'ai vérifié en explorant les fichiers).
La ligne qui lance l'exception est la suivante :
ligne 129 : Shell ("Extraire_variables_1.exe")
Sur mon poste, aucune erreur est lancé, mais sur un autre oui. Afin de vérifier que l'adressage relatif ainsi effectué était valide, avant l'instruction shell, je crée des fichiers textes dans le répertoire courant, qui s'avere bien être celui supposé.
Donc je ne vois pas ou est le problème : Pourquoi un "file not found"? Ca blesse mon égo de ne pas pouvoir trouver, mais je quitte cette boîte bientot et je n'ai pas envi de laisser un programme utilisable que sur un poste... :s
gillardg
Messages postés3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 20142 17 sept. 2008 à 11:57
"[file:///d:/uti/8606030f/personnel/Mes%20images/archi.bmp file:///d:/uti/8606030f/personnel/Mes%20images/archi.bmp]" ça c'est l'image ?? j'ai pas accès à ton disque dur d'ici !
HanzPeterMariol
Messages postés16Date d'inscriptionmercredi 17 septembre 2008StatutMembreDernière intervention18 septembre 2008 17 sept. 2008 à 12:11
Aucune des fonctionnalités offertes par le site pour embellir un message ne m'est accessible. Crois moi juste sur parole : tous mes .exe sont presents et exactement dans le meme répertoire que celui du programme qui les lance, donc globalement l'adressage (qui fonctionne sur mon poste) est donc simplement, si tout se passait bien : "Extraire_variables_1.exe".
La ligne de code, qui, elle aussi, fonctionne sur mon poste mais pas sur les autres est :
ElseIf ListBox3.Items.Count = 4
ThenShell(
"Extraire_variables_1.exe")Shell(
"Extraire_variables_2.exe")Shell(
"Extraire_variables_3.exe")Shell(
"Extraire_variables_4.exe")
End
IfMais bon, globalement il s'arrete au premier Shell pour lancer une "File not Found". Si tu pense avoir une idée, je te rédige un dossier précis du contexte ou je te met des printscreen de l'arborescence du programme etc que je t'envoie par mail perso. Mais la je t'avoue que j'ai énormément de mal a m'exprimer sur ce site qui agace mon fournisseur^^.
!(life)
Vous n’avez pas trouvé la réponse que vous recherchez ?
gillardg
Messages postés3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 20142 17 sept. 2008 à 12:42
1 si tu as des problemes vis à vis du site il y a des rubriques forums prévues
2 si tu veux faire aparaitre une image sur le site il faut qu'elle soit sur le net
3 si ton prog ne trouve pas ses fichiers il faut peut-être préciser le path des fichiers et non simplement leur nom
4 utilise Process.start("filepath") avec un test d'existence du fichier
HanzPeterMariol
Messages postés16Date d'inscriptionmercredi 17 septembre 2008StatutMembreDernière intervention18 septembre 2008 17 sept. 2008 à 13:25
Pour les problèmes de site web, je pense que c'est simplement du à tous les filtres et autres contraintes qu'impose la boîte ou je travaille. Je suis un privilégié qui a un accès, mais il est très grandement limité...
Sinon normalement l'adressage en fonction de là ou se déroule le programme fonctionne et le simple nom du fichier constitue (sur mon poste en tout cas) un adressage relatif.
Mais par précaution j'avais déjà essayé avec cette ligne de code ci :
Shell(Environment.CurrentDirectory &
"" &
"Extraire_variables_1.exe")
//aussi en remplacant CurrentDirectory par StartupPath :)
//J'avais vérifier au préalable la valeur du CurrentDirectory et du Startup Path
Et cela n'a rien changé. En tout cas j'apprécie ton aide, car je t'avoue que là je suis un peu désespéré et je ne suis pas parvenu a trouver d'autre posts avec des problème de Shell() lors du déploiement. Si ca se trouve c'est un paramètre tout con a modifier, mais je ne m'y connais pas assez pour m'en apercevoir aisément
HanzPeterMariol
Messages postés16Date d'inscriptionmercredi 17 septembre 2008StatutMembreDernière intervention18 septembre 2008 17 sept. 2008 à 14:17
Re,
J'ai tapé :
If
(
Not IO.File.Exists(Environment.CurrentDirectory &
"" &
"Extraire_variables_1.exe"))
ThenMessageBox.Show(
"Le chemin n'existe pas")
End
IfShell(Environment.CurrentDirectory &
"" &
"Extraire_variables_1.exe")
Aucune message Box n'a pop... Mais en fait je crois que le problème est innérent au fait d'appeler un .exe développé en Visual C++. As tu deja fait ce genre de choses? Si oui, à part générer le projet VC++, faisais tu autre chose? (une sorte d'équivalent du publier en VB.NET)
Je suis un réel ignare dans le domaine du déploiement
HanzPeterMariol
Messages postés16Date d'inscriptionmercredi 17 septembre 2008StatutMembreDernière intervention18 septembre 2008 17 sept. 2008 à 14:41
Oui ma précédente interaction vient du fait que jai tenté de les lancer hors de mon programme, et ce fut un échec :)
Run times vc++, hein quoi qu'est ce? (non je n'ai pas installé de telle choses)
J'opterais pour le natif win32
On avance à pas de géant dans ce flou intersidéral dans lequel je me positionnais, je crois que je viens de trouver mon père spirituel et cybernétique
HanzPeterMariol
Messages postés16Date d'inscriptionmercredi 17 septembre 2008StatutMembreDernière intervention18 septembre 2008 18 sept. 2008 à 12:01
(Lendemain de soirée, si j'étais deja lent du ciboulo hier, aujourd'hui ce sera pire)
Quand tu me parle de créer un Setup, tu parles avec un truc genre Inno Setup? Si oui, ca me force à me former à ce nouveau type de langage vraiment rapidement, cela risque d'etre un petit peu tendu...