Executable vb.net qui ne fonctionne pas sur d'autre machine

Signaler
-
Messages postés
14771
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 septembre 2020
-
Bonjour, J'ai developpé un programme avec visual studio 2012 framwork 4.5.2, j'ai créer un executable avec installshield est je le installer sur ma machine où je le devellopper ca marche sans aucune erreur et quand j'essais de l'installer sur une autre machine avec le meme framwork le programme ne s'execute et cella sans aucune erreur.
je suis à cours d'idées je viens soliciter votre aide.

NB; j'ai essayer le fichier debug comme release et cela sans succes.

6 réponses

Messages postés
14771
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 septembre 2020
433
Quand je t’ai demandé si tu avais installé toutes les références tu n’as pas parlé de ça
je pensais le problème provient est causé parcque dans le code j'ai importé System.security.criptography et j'ai pas importer son dll avec le projet?

Juste de la base de données.

Et donc sans cette information, je t’ai proposé ce bout de code qui permet juste d’afficher et logguer un message d’erreur quand windows n’en fournit pas.

Évidemment si le pc cible n’a pas toutes les références ça peut etre la raison du crash.

Tu n’avais pas non plus parlé que ton produit est une commande.
Dans ce cas, je te déconseille de livrer un produit de cryptographie avec VB2012, d’abord parce qu’il est obsolète, on est à VS219.
Il est donc possible que des améliorations de sécurité ont été faites.
D’autre part, un programme .Net (C#, VB, C++ etc...) est facilement décompilable, ce qui n’est pas un point fort pour la sécurité.

Messages postés
14771
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 septembre 2020
433
Bonjour

Aurais tu utiliser une bibliothèque, une dll, une base de données que tu n’aurais pas installé sur le pc cible?

S’agit-il d’un programme winform, wpf, console?
Oui fait j'ai utiliser une base de donnée MySQL en ligne j'ai importer le dll MySQL.data, et le bunifu.dll.
il s'agit d'un programme winform
Messages postés
14771
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 septembre 2020
433
Et le pc cible peut accéder à cette base de données ?

Je dois avoir quelque part un code qui affiche un message d’erreur pour winform.
Je tache de le retrouver demain
oui la machine cible peut acceder à une BD.
svp j'espere
Messages postés
14771
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 septembre 2020
433
dans le proprieté du projet main sub n'affiche pas dans le formulaire de demarrage alors j'ai appeler le sub main dans even load et le contenu du fichier.
NB. c'est sur la machine devellopeur.
System.InvalidOperationException: SetCompatibleTextRenderingDefault doit être appelé avant la création du premier objet IWin32Window dans l'application.
   à System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(Boolean defaultValue)
   à ECTH_PROJECT.Program.Main() dans C:\Users\CLINTON-MBK\documents\visual studio 2012\Projects\ECTH_PROJECT\ECTH_PROJECT\Program.vb:ligne 8
   à ECTH_PROJECT.Menu_Principal.Menu_Principal_Load(Object sender, EventArgs e) dans C:\Users\CLINTON-MBK\documents\visual studio 2012\Projects\ECTH_PROJECT\ECTH_PROJECT\Menu_Principal.vb:ligne 13
   à System.EventHandler.Invoke(Object sender, EventArgs e)
   à System.Windows.Forms.Form.OnLoad(EventArgs e)
   à System.Windows.Forms.Form.OnCreateControl()
   à System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   à System.Windows.Forms.Control.CreateControl()
   à System.Windows.Forms.Control.WmShowWindow(Message& m)
   à System.Windows.Forms.Control.WndProc(Message& m)
   à System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   à System.Windows.Forms.ContainerControl.WndProc(Message& m)
   à System.Windows.Forms.Form.WmShowWindow(Message& m)
   à System.Windows.Forms.Form.WndProc(Message& m)
   à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   à System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Messages postés
14771
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 septembre 2020
433
Ha, la capture n'est pas avec VS 2012,
Faut que je voies si j'ai une vielle virtual box avec VS 2012.

Par ce que là, l'erreur que tu montres vient du fait que tu as appelé Main dans le load....

Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Messages postés
14771
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 septembre 2020
433
Alors, je n'ai pas 2012, mais sur un vieux XP, j'ai 2010.
En passant le projet en Application Console, je peux choisir Main comme objet de démarrage.
Et là qu'est ce que vous me proposer de faire whismeril?
En fait c'est un programme que je doit à une entreprise.
je pensais le problème provient est causé parcque dans le code j'ai importé System.security.criptography et j'ai pas importer son dll avec le projet?
je suis acceder à l'explorateur de solution pour affiché de dependance du projet(reference), je pas importer toutes ces refence. est ce qu'il est necessaire de tout le deploiyer avec le programme?