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 de NET Framework lors de déploiement


Sujet :

Framework .NET

  1. #1
    Membre confirmé Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 411
    Points : 468
    Points
    468
    Par défaut Problème de NET Framework lors de déploiement
    Slt tout le monde.

    Je voudrais obtenir des conseils concernant le déploiement d'une appli, car je ne suis pas au point. Je vais essayer de ne pas trop m'étendre...

    J'ai développé une petite application avec Visual Basic 2010 Express en sélectionnant le Framework 3.5 Client, histoire de ne pas prendre le dernier pour un max de compatibilité. Finalement, je me suis rendu compte que je n'utilisais pas les fonctionnalités supplémentaires par rapport à la version 2.0. J'ai donc modifié mon projet en conséquence, en mettant les références à jour dans "My Project".

    Pour le setup, j'ai prévu d'utiliser Inno Setup avec un script maison chargé de vérifier si l'ordinateur cible dispose bien au minimum de la version du Framework utilisé par mon application.

    Pour effectuer un test grandeur nature, j'ai installé un Windows XP sur une machine virtuelle avec le SP3 (n'ayant pas le SP2 sous la main).

    Je lance mon appli (sans setup) et là message d'erreur. Pas de problème c'est normal. Ensuite j'execute la version web de l'installateur Microsoft du NET Framework 4.0 Client. Quand je lance une nouvelle fois mon application, un nouveau message d'erreur m'annonce que je dois télécharger la version 2.0.50727.
    En parallèle, j'ai installé un logiciel assez connu qui utilise aussi le NET Framework (c'est long à taper, il a pas un pseudo ) et le logiciel s'est lancé sans broncher. C'est assez frustrant Je croyais avoir compris que la dernière version d'un Framework était capable de faire tourner toutes les applications utilisant d'anciennes versions. Je me trompe ?

    En continuant à chercher, j'ai eu l'idée de faire une copie locale des références dont j'ai bien retrouvé les fichiers DLL dans le dossier Release, après avoir RE-généré mon projet. En là, j'allais écrire que du coup mon application fonctionnait correctement, mais en refaisant un test et bien non ! Toujours le MsgBox m'invitant à télécharger la version 2. Je ne sais pas ce que j'ai fait entre temps, mais ça marche plus. J'espère de toutes façons que ça n'est pas cette solution qu'il faut retenir car ça fait passer mon dossier d'install de 2 Mo à 16 Mo...

    Voilà, un p'tit coup de main serait le bienvenue. J'ai déjà développé plusieurs petites applications, mais dans le cadre familial. Du coup, je m'étais posé moins de questions. Peut-être que je prends la tête pour rien ? A vous de me dire.
    D'avance merci.

    PS : petite précision, mon application est complètement débugé. En situation normale, tout fonctionne.

  2. #2
    Membre confirmé Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 411
    Points : 468
    Points
    468
    Par défaut
    Toujours sous mon Windows XP tout frais, je viens d'accepter le téléchargement du NET 2.0 et en fait le lien me dirige vers la version 3.5 SP1 et pour rappel, j'ai commencé le dev de mon appli avec le NET 3.5

    D'après vous, n' y aurait-t-il pas un ptit conflit lors de la compilation ou un truc que j'aurais pu oublier de modifier dans les paramètres ?

    Je crois avoir scruté tous les fichiers, mais rien ne m'a alerté. Par contre, apres install, le logiciel fonctionne et sans avoir fait une copie locale des DLL.


    [Edit]

    Je viens de voir aussi que l'installateur du Framekork 3.5 SP1 a installé également le Framekork 2.0 SP2 et Framekork 3.0 SP2.

    Sinon, c'est quoi BASS.NET ? ça vous dit quelque chose ? Dans le repertoire de l'autre logiciel que j'ai installé pour m'aider à faire mes comparaisons, il y a plusieurs DLL dont la description commence par BASS-machin-truc. Est-ce ça pourrait être un Framework embarqué ? ça pourrait expliquer pourquoi ce logiciel a fonctionné après l'install du Framework 4.0 client et pas le mien.

  3. #3
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Bonjour,

    En fait, lorsqu'on dit qu'une version du Framework est compatible avec les précédentes, cela ne veut pas dire qu'une application "compilée" pour le Framework 2 sera utilisable sur le Framework 4. Cela veut plutôt dire que recompiler le code pour le Framework 4 ne posera (à priori) aucun problème.

    De façon générale, il faut toujours que le Framework ciblé soit installé sur la machine qui devra exécuter le programme.

  4. #4
    Membre confirmé Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 411
    Points : 468
    Points
    468
    Par défaut
    Bonjour et merci pour ton intervention Pongten.

    Je dois donc en déduire que mon "problème" n'en est pas un et que le déploiement suit la procédure "standard" ?

    Il est vrai que lorsque je regarde dans "C:\WINDOWS\Microsoft.NET\Framework" de WinXP les dossiers "v1.0.3705" et "v1.1.4322" sont également présents. Ils sont presque vides, mais ils sont là.

    Allé, une petite confirmation SVP, ça me fera pas de mal... Merci




    Y'a qd même l'histoire de l'autre logiciel qui me contrarie...

    Etape 1 : Aucun Framework
    • Le logiciel utilisé pour le test demande de télécharger la version 2 (ou plus récente) du Framework avant l'install.


    Etape 2 : NET Framework 4.0 installé
    • Le logiciel s'installe et démarre normalement.

    • Au lancement de l'executable de mon appli, un message de Microsoft propose un lien pour installer le version 2 et redirige vers la 3.5 que j'installe. Après, il se lance normalement.


    Voilà pour résumer, j'aurais du exposer le "problème" comme ça dès le départ.

  5. #5
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Alors, une petite précision supplémentaire

    En fait, le problème vient surtout de la CLR liée au Framework.

    Pour la version 1 du framework, on avait une version de la CLR.

    Pour la version 2 du framework, une nouvelle CLR => Application Framework 2 ne peut s'exécuter sur Framework 1 et vice et versa.

    Pour les version 3 et 3.5 du Framework, il s'agit de la même CLR que la version 2, mais avec un apport de "classes" supplémentaire (LINQ par exemple). Un programme framework 2 pourra donc s'exécuter sur le 3.5, l'inverse n'étant possible que si le programme n'utilise aucune classe spécifique du 3.5

    Pour la version 4 du Framework, de nouveau une nouvelle CLR mais avec "normalement" une rétrocompatibilité accrue.. qui devrait faire qu'une application développée pour une version antérieure puisse s'exécuter sur le 4. Un petit lien qui explique ça un peu plus en détail..

    Il y a également une directive qu'on peut mettre dans le fichier de config de l'application pour préciser quelles sont les version supportées.

    Voilà, j'espère que c'est plus précis

  6. #6
    Membre confirmé Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 411
    Points : 468
    Points
    468
    Par défaut
    Slt mon unique interlocuteur

    Sauf erreur de ma part, il n'y a pas de version "web installer" du Framwork 2.0 et comme j'ai pas l'intension d'embarquer l'executable de plus de 20 Mo dans le setup de mon appli, je conserve donc la version web install de la 3.5 ou 4.0, j'édite le fichier .config de mon application en précisant que le soft peut tourner sur le Framework 3.5 ou 4.0 (apres quelques tests pour cette dernière version) et normalement je ne devrais pas voir de MsgBox de MS demandant d'installer le Framework 2.0 sur une machine qui n'à que l'une des versions mentionnées dans mon fichier .config, exact ?

    Et comment c ti qu'on fait pour ajouter des versions au fichier de config ?
    J'ai pas cherché... Si ça marche comme je l'ai compris, tu m'auras fait gagner un sacré bout de temps, sinon ben tu ne m'en aura pas fait perdre de toutes façons

  7. #7
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Salut

    De toute façon, le web installer de la version 3.5 installe en fait le Framework 2SP1, le 3SP1 et le 3.5 en fait

    Pour préciser les versions :

    http://msdn.microsoft.com/fr-fr/library/w4atty68.aspx

    et

    http://msdn.microsoft.com/fr-fr/library/a5dzwzc9.aspx

  8. #8
    Membre confirmé Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 411
    Points : 468
    Points
    468
    Par défaut
    RE,

    En prenant en compte ce que tu m'as dit, ça m'a mis la puce à l'oreille. Dans mon Setup, j'avais prévu de mettre les installer version Client du Framework 3.5 ou 4.0 en me disant que l'utilisateur lambda n'avais pas besoin de la version complète pour faire tourner mon appli puisque je n'utilise pas de base de données et que mon programme n'utilise pas de class particulière y tout y tout... ERREUR ! A l'époque, cad il y a 48 heure je pensais que chaque Framework était bien distinct des uns des autres et retrocomptatible. Je ne savais pas que jusqu'au 3.5, ils utilisaient les bases de la version 2.0.

    Tout ça pour dire, qu'après avoir désinstallé tous les Framework de mon Windows XP de test, j'ai juste installé la version 3.5 via le web installer, mais avec l'installer de la version complète et pas celui de la version "Client", et là oh miracle, mon appli s'est lancée sans broncher. Un petit tour dans le dossier "Windows\Microsoft.NET" m'a permis de constater que la version 2.0 était installée en plus de la 3.0 et 3.5, logique donc.

    Pour ne pas mourir idiot, merci Pongten j'ai recommencais la procédure (tout désinstaller) et cette fois j'ai fait une install (complète et pas Client) du Framework 4.0 Dans "Windows\Microsoft.NET" seule la version 4.0 était installée, puisque la version 4.0 embarque un nouveau core. En lancant mon appli, bingo, message de MS demandant d'installer la version 2.0. La grande différence avec la dernière fois, c'est que là j'étais content Ben oui, j'ai compris -> Edit du fichier .config de mon application dans lequel j'ajoute la version 4.0 comme Framework autorisé à faire tourner mon appli.
    Ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <startup>
    <supportedRuntime version="v2.0.50727"/>
    <supportedRuntime version="v4.0.30319"/>
    </startup>
    Après quoi, j'ai la satisfaction de constater que mon programme démarre normalement ! Oufff...

    J'ai une dernière question quand même. Est-ce la meilleure façon de procéder ? Je pourrais laisser un nouveau projet avec le Framework 4.0 par défaut, mais je ne serais pas à l'abris dans ce cas d'utiliser une class du 4.0 sans le vouloir et du coup la version 4.0 deviendrait la version minimale pour executer mon appli. Dans l'explorateur de solutions de VB, je ne vois pas le fichier .config, j'en déduit qu'il est créé lors de la génération du projet. Il n'y a pas un praramètre quelque part dans VB ?

    Encore merci Pongten tes explications.

  9. #9
    Membre confirmé Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 411
    Points : 468
    Points
    468
    Par défaut
    Trop rapide Pongten On s'est croisé

  10. #10
    Membre confirmé Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 411
    Points : 468
    Points
    468
    Par défaut
    En plus de la dernière question, une nouvelle se pose à moi. Je viens de constater qu'un bug de mon appli sous Windows XP était lié à l'utilisation du Framework 2.0

    Par défaut, comment agit le Framework ? Va-t-il prendre d'office le Framework le plus récent ou faut-il lui préciser dans le fichier .config en mettant celui que l'on préfère, en tête de liste par exemple ?

    D'avance merci.

    PS : c'est pas la question dont je te parlais en MP



    [EDIT]

    Honte à moi

    http://msdn.microsoft.com/fr-fr/library/w4atty68.aspx
    Tout est expliqué noir sur blanc et effectivement le premier de la liste est le Framework à utiliser en priorité, le dennier étant le moins préférable.

  11. #11
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Pas de souci

    Pour ton fichier .config, s'il n'est pas présent, tu peux l'ajouter via un clic droit sur ton projet -> Ajouter élément -> Fichier de configuration de l'application (ou quelque chose comme ça).

    Pour la façon de procéder, je dirais que ça dépend du besoin... Si tu sais que ton application va principalement être utilisée dans un parc ou les utilisateurs n'ont pas la main sur leur machine et que seule la version 2 du framework est garantie.. ok

    Sinon, personnellement, je pars plus du principe de développer pour la dernière version, sachant qu'elle est facilement installable et disponible gratuitement sur le net.. donc à part ralentir un peu le temps d'installation, cela n'a pas un grand impact sur l'utilisateur final (qui au final, aura peut-être déjà la framework 4 installé ) Et ce serait dommage de se priver des améliorations apportées par les versions successives du framework

    Maintenant, ce n'est que mon avis

  12. #12
    Membre confirmé Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 411
    Points : 468
    Points
    468
    Par défaut
    Merci pour l'info.

    En fait, j'avais du faire une fausse manip, car en vérifiant dans d'autres projets, le fichier app.config est bien présent.

    ça me gène un peu car je voudrais te poser encore énième dernière question

    En gros, ou dans un langage compéhensible par tout à chacun, quelles sont ces fameuses améliorations entre le Framework 4.0 et le 2.0 ?

    J'ai cherché mais ne maitrisant pas tout le jargon, les informations trouvées ne m'ont pas apportées grand chose. J'ai juste découvert l'existance de LINQ qui semble être qualifié par certains d'usine à gaz, dont je n'ai pas vraiment compris l'utilité, même si j'imagine que le nom est explicite. Amélioration des performances, mais pour des gros projets sans doute, car dans mon cas, je ne vois pas de difference.

    Maintenant, je viens de découvrir un problème accès en écriture dans le registre grâce à cette merveille d'UAC Enfin, c'est un autre sujet.

  13. #13
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Pas de souci, c'est pour ça que nous sommes là, pour répondre aux questions (entre autre )

    Tout d'abord, LINQ, c'est un vaste sujet car c'est composé de plusieurs parties. Tu as LINQ to Objects qui permet de travailler facilement sur des collections, LINQ to XML pour la manipulation du XML, LINQ to SQL sorte de mini ORM, LINQ to Entities ORM plus conséquent, ...

    Quand tu as entendu parler "d'usine à gaz", cela concernait probablement une des 2 dernières parties, mais cela concerne plus l'utilisation d'un ORM de façon générale et c'est de toute façon à nuancer... (mais ce n'est pas le sujet qui nous occupe).. Pour le reste, je te conseille vivement de t'y intéresser car une fois qu'on y a gouté, difficile de s'en passer :p

    Pour info, LINQ est apparu avec la version 3.5 du framework.

    Au rayon des nouveautés de la version 4 du Framework, je te conseille de lire ceci : http://msdn.microsoft.com/fr-fr/library/ms171868.aspx et puis si tu veux des éclaircissements par après, n'hésite pas

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

Discussions similaires

  1. Problème avec .NET Framework 3.5
    Par emaluk dans le forum ASP.NET
    Réponses: 2
    Dernier message: 23/10/2009, 17h24
  2. problème ASP.NET l'or du déploiement
    Par Razielone dans le forum Framework .NET
    Réponses: 0
    Dernier message: 27/09/2009, 12h13
  3. Problème de Net Framework
    Par chahrah dans le forum Windows XP
    Réponses: 1
    Dernier message: 15/08/2008, 21h40
  4. SQL SERVER 2008 Express Problème version .Net Framework
    Par Thomad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/08/2008, 17h43
  5. Réponses: 1
    Dernier message: 30/05/2008, 18h34

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