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

Framework .NET Discussion :

Problème déploiement Click Once


Sujet :

Framework .NET

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2008
    Messages : 464
    Points : 268
    Points
    268
    Par défaut Problème déploiement Click Once
    Bonjour,
    Sur une de mes applications j'utilise la technologie Clik Once pour déployer mon application.
    Pour se faire je déploie mon fichier sur un unc de serveur où va être utiliser mon application.

    Tout se passait bien jusqu'ici mais depuis aujourd'hui j'ai un problème que je n'avais jamais rencontré et qui me laisse pantoie :
    Lors de l'ouverture par un utilisateur de l'application là où normalement le programme télécharge la dernière version d'office, un message d'erreur apparait :
    ... L'application est incorrectement formatté. Contacter ....
    En regardant le détail de l'erreur :
    il semblerait que le fichier manifest n'est pas valide ou ne peut pas être ouvert.
    Je ne me suis pas démonté et suis allé scruter Le fichier xml program.manifest.

    En première ligne du fichier on fait référence un espace de nom référencé dans un schéma enrelatif assembly.adaptive.sxd. Schéma qui semble apparemment non présent sur le répertoir de l'unc.

    Alors je ne sais pas si mon problème vient de là mais si quelqu'un pourrait m'aider sur le déploiment de mon appli.

    Pour info j'utilise le framework 4.0 avec Visual Studio 2008 et mon appli est écrit en c#

  2. #2
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Points : 1 187
    Points
    1 187
    Par défaut
    Bonjour,

    Il n'y aurait pas une erreur VS 2008 et .NET 4 ? Ce serait pas plutôt VS2010 ? ou .NET 3.5 ?

    Sinon pour revenir à click'once, n'y aurait-il pas un problème de signature du manifest avec un certificat expiré par exemple ?

    As-tu ressayé de poster ton application ?

    Comment effectues-tu le dépôt de ton application ? via le publish de Visual ? à la main ?

  3. #3
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2008
    Messages : 464
    Points : 268
    Points
    268
    Par défaut Résolution
    Laisser tomber j'ai trouvé mon problème et ça n'a rien à voir avec le fichier manifest et son schéma xsd. (Quoiqu'il est vrai que j'aurai aimé trouvé où se fameux fichier xsd se trouve).

    D'abord mon application est disponible hors connexion (j'ai malencontreusement appuyer sur disponible en ligne et m'en suis rendu compte tardivement).
    Ensuite j'ai quand même eu un problème que je vous expose si vous avez le cas plus tard : mon application utilis une classe d'un autre espace de nom.
    Or cette classe appartient à un programme dans cette espace de nom.
    Comme il est obligé de publié cet espace de nom mais que le programme de celui ci n'est pas déployé avec Click Once, je suppose qu'il ne retrouve pas ces petits...
    Du coup j'ai déployé l'autre programme et tout semble fonctionner

  4. #4
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Points : 1 187
    Points
    1 187
    Par défaut
    Dans ce cas, ne serait-ce pas un problème de mise à jour des dépendances ClickOnce ?

    Parce que moi, devoir déployer un programme pour que mon autre programme fonctionne alors que mon programme ne se sert pas du dit programme mais seulement d'une de ces classes, ça me fait bizarre.

    Soit il y a un problème de conception ? Soit je comprends pas ce que tu racontes !

  5. #5
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2008
    Messages : 464
    Points : 268
    Points
    268
    Par défaut Re
    Je ne sais pas : comme les deux programmes n'appartiennent pas au même espace de noms...
    Le programme A de l'espace de nom A utilise une classe B1 de l'espace de nom B. Dans cet espace de nom B : il y a un programme B.

    Du coup pour déployer le programme A, je n'ai rien trouvé d'autre que de déployer le programme B. Puisque parmi les dépendances du programme A il y a l'espace de nom B.

    A moins qu'il faille procéder d'une autre façon : en ce cas je suis tout ouïe

  6. #6
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Points : 1 187
    Points
    1 187
    Par défaut
    Peut-on voir la solution (enfin pas complète) et montrant les références ?

  7. #7
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2008
    Messages : 464
    Points : 268
    Points
    268
    Par défaut Quelques points d'explications
    La solution complète est assez volumineuse, j'ai peur de noyer le problème sous un tas de référence qui ne nous intéresse pas dans ce topic.
    De plus elle est composée de classe dérivé de la classe form.cs (comme on peut s'y en douter pour une application Windows), je ne sais donc pas comment représenter l'information. je vais essayer de synthétiser tout ça avec des classes qui ne sont pas les miennes mais tanpis

    Je ne montre pas tout le programme car je travaille de mémoire et j'avoue que je ne connais pas forcément toute la syntaxe

    Le forme principal du premier NameSpace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    // Autre using
    using NameSpaceB
     
    namespace NameSpaceA
    {
       public partial class FormA : Form
       {
           OnLoad(object sender, EventArgs e)
           {
              // Quelques instructions
              ClasseB.FonctionUtilisee();
           }
       }
    }

    La classe B employé dans le deuxième NameSpace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    // Autre using
     
    namespace NameSpaceB
    {
       // La classe est statique mais on pourrait aussi dans l'exemple prendre   
       // une classe instanciable
       public static class ClasseB
       {
           // Autres méthodes 
     
           public static void FonctionUtilisee()
           {
              // Instruction de la fonction
           }
       }
    }
    Dans l'explorateur de solution on aurait un truc du type

    -SolutionA.sln
    - ProjetA.cprj
    - Properties
    - Settings
    - References
    - // Quelques références
    - NameSpaceB
    - FormA.cs
    - FormA.Designer.resx.cs
    - FormA.resx.cs
    - Program.cs
    - debug/
    - bin/
    - ProjetB.cprj
    - Properties
    - Settings
    - References
    - // Quelques références
    - FormB.cs
    - FormB.Designer.resx.cs
    - FormB.resx.cs
    - ClasseB.cs
    - Program.cs
    - debug/
    - bin/

    Vous excuserez ma présentation si elle vous parait incomplète ou partiellement incorrect, je n'ai pas appris le Framework par coeur et je travaille, là, uniquement de mémoire. De plus j'ai voulu m'attarder sur les choses les plus importantes.

    Dans le projet B on aurait quelque chose du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    // Autre using
     
    namespace NameSpaceB
    {
       public partial class FormB : Form
       {
           OnLoad(object sender, EventArgs e)
           {
              // Quelques instructions
              ClasseB.FonctionUtilisee();
           }
       }
    }
    Bien entendu les 2 programmes Program.cs de chaque projet appelle les classes FormA.cs et FormB.cs

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème après la publication avec click once
    Par Shadam dans le forum VB.NET
    Réponses: 2
    Dernier message: 07/07/2015, 15h30
  2. Réponses: 0
    Dernier message: 14/01/2011, 16h33
  3. Impossible de lire un fichier xml après un déploiement avec Click Once
    Par cyberjo23 dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 26/11/2009, 17h04
  4. Problème click Once et mises à jour
    Par Shypster dans le forum C#
    Réponses: 4
    Dernier message: 20/05/2008, 11h18
  5. Alternative au déploiement avec Click-once
    Par vladvad dans le forum Visual Studio
    Réponses: 3
    Dernier message: 08/03/2007, 02h14

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