IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Windows Discussion :

Demande d'aide sur publication d'une application windows


Sujet :

Développement Windows

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Demande d'aide sur publication d'une application windows
    Salut

    J'ai développé une application Windows qui a été bien marché sur mon ordinateur;
    le problème arrive quand j’essayerai de l’exécuter sur une autre machine qui affiche le message suivant :

    System.Data.SqlClient.SqlException (0x80131904): Une erreur liée au réseau ou spécifique à l'instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou n'est pas accessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions distantes. (provider: SQL Network Interfaces, error: 52 - Impossible de localiser l'installation d'un Local Database Runtime. Vérifiez que SQL Server Express est bien installé et que la fonctionnalité de runtime de base de données locale est activé.) ---> System.ComponentModel.Win32Exception (0x80004005): Le fichier spécifié est introuvable

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2012
    Messages : 80
    Points : 163
    Points
    163
    Par défaut
    As tu testé les informations de connexion?

    Bonne journée.

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    oui

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    As-tu paramétré le firewall (paramètres avancés) en ajoutant une exception relative au port TCP MySQL (3306 de mémoire),:
    - sur le serveur : créer l'exception dans "inbound rule = régle de traffic entrant",
    - sur le poste client : créer l'exception dans "outbound rule= régle de traffic sortant".
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  5. #5
    Membre régulier
    Homme Profil pro
    autre
    Inscrit en
    Janvier 2015
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Janvier 2015
    Messages : 142
    Points : 108
    Points
    108
    Par défaut
    Bonjour,
    J'ai exactement le même souci.
    Mon appli ne fonctionne pas lorsque je l'installe sur un autre ordi.
    Même message d'erreur.

    J'utilise "publier" avec Visual Studio (Click Once).
    J'ai une base de données SQL associée à mon appli.
    Apparemment 'autre ordi ne sait même pas ce qu'est une base de données.

    Je ne comprends pas.

    D'ailleurs, je ne comprends pas comment l'installation se fait réellement car je n'ai en tout et pour tout qu'un seul pauvre appli.exe dans le menu "Démarrer" de windows
    Sans aucune des dépendance nécessaire (base de données, app.config, ressources, bref tout)
    Plus précisément c'est un fichier lien "Application Reference" (faites-moi rire)

    Et ça, cette façon cachée d'installer les appli à la mode d'aujourd'hui, m'énerve prodigieusement.
    On ne sait rien et on ne voit rien de ce qui est fait sur l'ordi.
    Je ne retrouve pas mes fichiers.

    J'ai installé SQL express sur le deuxième ordi mais nada.
    Net. Framework est de la même version que sur mon premier ordi, 4.8. Donc c'est pas ça non plus.

    Je viens de passer une journée à chercher la solution et je n'ai pas l'ombre d'une piste.

    Merci pour votre aide

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    sql server est une base réseau
    aussi il faut installer sql server sur le poste final

    après dans ton code si tu as mis comme chaine de connexion monip\nom_instance_sql et que le pc final n'a ni la même ip ni le même nom d'instance ca ne risque pas de marcher ...

    une base de données réseau est utile pour être accessible depuis plusieurs postes, si tu veux juste un fichier avec 3 tables pour un utilisateur une base de données fichier suffit amplement (sqlite, sql server localdb, ...)


    par ailleurs il est inconcevable de livrer une appli qui ne sait pas dire quel problème elle rencontre, il faut enregistrer les erreurs et pouvoir les voir
    les exceptions en .net précisent un message, la pile des appels, le type de l'exception etc...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre régulier
    Homme Profil pro
    autre
    Inscrit en
    Janvier 2015
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Janvier 2015
    Messages : 142
    Points : 108
    Points
    108
    Par défaut
    Merci Pol63,

    Apparemment j'ai utilisé la grosse artillerie pour une seule petite table d'environ 20 colonnes et moins de 10 000 entrées.
    En fait, j'ai utilisé le truc que Visual Studio nous glisse sous la main lorsqu'on a besoin d'une BdD.
    C'est indiqué "SQL Server" dans l'explorateur d'objets SQL Server > (localdb)\MSSQLLocalDB (SQL Server 13.0.4001 - NomduPC\NomUser)

    Mais, je ne sais pas bien ce que j'utilise
    après dans ton code si tu as mis comme chaine de connexion monip\nom_instance_sql et que le pc final n'a ni la même ip ni le même nom d'instance ca ne risque pas de marcher ...
    Ma chaine de connexion est toute bête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <add name="ZartView.Properties.Settings.artcollectionConnectionString" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\artcollection.mdf;Integrated Security=True;Connect Timeout=30" providerName="System.Data.SqlClient" />
    Et ça a l'air d'être du local : (LocalDB)
    C'est quoi ça comme Database ?

    Comment enregistrer les erreurs de l'installation ?

    Désolé, je patauge allègrement
    et merci

  8. #8
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    sql server localdb c'est le moteur d'sql server mais sur une base fichier et locale
    donc c'est pas la grosse artillerie mais presque
    l'installation d'sql server localdb est déjà plus simple que celle d'sql server qui pose des dizaines de questions pour la conf
    par contre ca reste une install de plusieurs centaines de Mo alors qu'sqlite par exemple c'est une dll de quelques ko (sans installation particulière il me semble)

    après on enregistre pas les erreurs d'installation, elle se passe bien, mais les erreurs d'exécution
    au moment où ton programme ouvre la connexion à la base de données une exception (erreur en .net) est déclenchée
    pour intercepter les exceptions il faut des bloc try catch (un peu partout), sans sa une exception arrête l'appli
    après si tu lances ton appli et qu'elle plante, tu peux tenter d'aller dans l'observateurs d'évènements de windows, en général les détails de l'erreur sont enregistrés
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    Membre régulier
    Homme Profil pro
    autre
    Inscrit en
    Janvier 2015
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Janvier 2015
    Messages : 142
    Points : 108
    Points
    108
    Par défaut
    Je vais m'informer sur sqlite alors.

    Oui, pour le débogage je n'ai pas de souci, je maitrise les try catch.
    J'avais cru comprendre qu'il y avait un moyen d'enregistrer ce qui va mal à l'installation sur un autre ordi.

    Mon Appli tourne déjà comme une horloge depuis plusieurs jours sur l'ordi où je l'ai créée.
    C'est ce qui m'incite à rechercher une solution dans l'environnement de l'ordi où je tente de l'installer ensuite.

    Voici tout ce que j'ai sur cette erreur (messagebox et texte d'information) :

    Consultez la fin de ce message pour plus de détails sur l'appel du débogage
    juste-à-temps (JIT) à la place de cette boîte de dialogue.

    ************** Texte de l'exception **************
    System.Data.SqlClient.SqlException (0x80131904): Une erreur liée au réseau ou spécifique à l'instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou n'est pas accessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions distantes. (provider: SQL Network Interfaces, error: 52 - Impossible de localiser l'installation d'un Local Database Runtime. Vérifiez que SQL Server Express est bien installé et que la fonctionnalité de runtime de base de données locale est activé.) ---> System.ComponentModel.Win32Exception (0x80004005): Le fichier spécifié est introuvable
    à System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling, SqlAuthenticationProviderManager sqlAuthProviderManager)
    à System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
    à System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
    à System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
    à System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
    à System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
    à System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
    à System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
    à System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
    à System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
    à System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
    à System.Data.SqlClient.SqlConnection.Open()
    à ZartView.ZartsView.Visionneuse_Load(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.Form.WmShowWindow(Message& m)
    à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    ClientConnectionId :00000000-0000-0000-0000-000000000000
    Error Number :2,State :0,Class :20


    ************** Assemblys chargés **************
    mscorlib
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4150.0 built by: NET48REL1LAST_C
    CodeBase : file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
    ----------------------------------------
    ZartView
    Version de l'assembly : 1.0.7382.26717
    Version Win32 : 1.1.0.0
    CodeBase : file:///C:/Users/Ob%C3%A9ron/AppData/Local/Apps/2.0/KNTD8HC2.0PA/T6G3M0BT.K72/zart..tion_0000000000000000_0001.0000_b8b89e8abc04dee3/ZartView.exe
    ----------------------------------------
    System.Windows.Forms
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4150.0 built by: NET48REL1LAST_C
    CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4001.0 built by: NET48REL1LAST_C
    CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Drawing
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.3752.0 built by: NET48REL1
    CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System.Data
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4121.0 built by: NET48REL1LAST_C
    CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
    ----------------------------------------
    System.Core
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4121.0 built by: NET48REL1LAST_C
    CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
    ----------------------------------------
    System.Configuration
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.3752.0 built by: NET48REL1
    CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ----------------------------------------
    System.Xml
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.3752.0 built by: NET48REL1
    CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    System.Data.resources
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.3752.0 built by: NET48REL1
    CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Data.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/System.Data.resources.dll
    ----------------------------------------
    System.Transactions
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.3752.0 built by: NET48REL1
    CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
    ----------------------------------------
    System.EnterpriseServices
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.3752.0 built by: NET48REL1
    CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
    ----------------------------------------
    mscorlib.resources
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.3752.0 built by: NET48REL1
    CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/mscorlib.resources.dll
    ----------------------------------------
    System.Windows.Forms.resources
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.3752.0 built by: NET48REL1
    CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/System.Windows.Forms.resources.dll
    ----------------------------------------

    ************** Débogage JIT **************
    Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette
    application ou cet ordinateur (machine.config) doit avoir la valeur
    jitDebugging définie dans la section system.windows.forms.
    L'application doit également être compilée avec le débogage
    activé.

    Par exemple :

    <configuration>
    <system.windows.forms jitDebugging="true" />
    </configuration>

    Lorsque le débogage juste-à-temps est activé, les exceptions non gérées
    seront envoyées au débogueur JIT inscrit sur l'ordinateur
    plutôt que d'être gérées par cette boîte de dialogue.
    Merci
    Images attachées Images attachées  

  10. #10
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    Tu gères les try catch mais visiblement il en manque un
    Et dans le catch il faut enregistrer oui
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  11. #11
    Membre régulier
    Homme Profil pro
    autre
    Inscrit en
    Janvier 2015
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Janvier 2015
    Messages : 142
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    alors qu'sqlite par exemple c'est une dll de quelques ko (sans installation particulière il me semble)
    Merci pour ce conseil.
    Je viens de passer à SQLite et c'est davantage ce qu'il me fallait.
    Une solution légère et adaptée à ce que j'en fait.

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/05/2015, 17h28
  2. [AC-2003] Demande d'aide sur l’exécution d'une requête
    Par barousmane dans le forum Access
    Réponses: 1
    Dernier message: 25/08/2014, 16h30
  3. Publication d'une application sur deux
    Par FinalSpirit dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 26/07/2009, 22h02
  4. Demande d'aide sur une expression régulière
    Par bubulemaster dans le forum Débuter
    Réponses: 4
    Dernier message: 03/04/2008, 13h19
  5. Demande d'aide sur une action sur un bouton
    Par Kemanke dans le forum MFC
    Réponses: 4
    Dernier message: 29/06/2007, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo