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 :

Verifier les versions du framework


Sujet :

Développement Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Consultant informatique
    Inscrit en
    Juin 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 130
    Par défaut Verifier les versions du framework
    Bonjour,

    j'ai réalisé une application qu'on lance depuis un serveur afin de réaliser le déploiement d'une autre sur un poste.
    J'ai un problème, mon application fonctionne très bien si j'ai le framework 3.5 ou le framework 2.0 avec le service pack 2.
    Si je ne les ai pas, l'application se lance mais pour cause de problème de droits (je n'ai pas tout compris) elle plante.

    Donc je souhaiterais savoir s'il existe un moyen de tester la présence du service pack 2 (framework 2.0) sur le pc. Dans les clefs de registre je n'ai pas vu de différence avant installation et après et pareil pour le dossier framework (dans C:\Windows).

    Je vous remercie d'avance pour votre aide.

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 544
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 544
    Par défaut
    Commencez par connaître le vrai problème.
    Si c'est un problème de droit, le SP2 n'est que le révélateur du problème, pas le problème.

  3. #3
    Membre confirmé
    Profil pro
    Consultant informatique
    Inscrit en
    Juin 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 130
    Par défaut
    Surtout ce que je souhaite faire c'est de tester si le SP2 est présent et si non j'arrête l'application et demande de faire une mise à jour du framework.

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 544
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 544
    Par défaut
    Arrêtez de la jouer petit bras.
    Rien ne garantie que l'installation du SP2 corrige des problèmes de sécurité.
    Quel est ce problème de sécurité ?

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Fais en sorte que lors de ton déploiement, l'installation du framework 3.5 soit un pré-requis. C'est facilement faisable via ClickOnce ou via un projet de déploiement avec installeur.

    Sinon, il existe bien une façon de tester si le framework est bien présent :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
          try {
            RegistryKey windowsInfos1 = Registry.LocalMachine.OpenSubKey("SOFTWARE").OpenSubKey("Microsoft").OpenSubKey("NET Framework Setup").OpenSubKey("NDP").OpenSubKey("v3.5");
            if (windowsInfos1 == null) throw new Exception();
            RegistryKey windowsInfos2 = Registry.LocalMachine.OpenSubKey("SOFTWARE").OpenSubKey("Microsoft").OpenSubKey("Windows").OpenSubKey("CurrentVersion").OpenSubKey("Internet Settings").OpenSubKey("5.0").OpenSubKey("User Agent").OpenSubKey("Post Platform");
            if (windowsInfos2 == null) throw new Exception();
          }
          catch {
            System.Windows.MessageBox.Show("Vous devez installer le framework 3.5 SP1.\nAller sur :\n http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID=ab99342f-5d1a-413d-8319-81da479ab0d7");
            Environment.Exit(1);
          }

  6. #6
    Membre averti
    Inscrit en
    Août 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 15
    Par défaut Demande complémentaire
    Je relance car la question de Olman135, et la mienne, est exactement :
    comment faire la différence entre
    - Framework DOTNET 2.0
    et
    - Framework DOTNET 2.0 SP2

    Mon problème est que les clefs de registre citées par binoo, que je remercie pour son exemple de code, ne montrent strictement aucune différence avant et après installation de SP2.
    En particulier, l'entrée 2.0.50727 indique la présence du Framework 2.0 comme de celle de 2.0 SP2.

    Merci.

    Pour plus de détails : j'ai dû renouveler le certificat d'une application client lourd distribuée par ClickOnce. Et sur les machines cibles avec 2.0, la mise à jour provoque une erreur :
    L'identité de déploiement ne correspond pas à l'abonnement.
    Erreur qui n'est pas déclenchée sur les machines cibles avec 2.0 SP2
    Ce problème est reconnu par Microsoft qui conseille justement d'installer au moins 2.0 SP1 ou suivante.
    http://support.microsoft.com/?scid=k...25521&x=8&y=10

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    Comme ça je ne sais pas où aller regarder pour savoir si c'est bien le SP2 qui est présent...


    Mais puisque tu travailles avec ClickOnce, tu ne pourrais pas ajouter l'installation du framework 2.0 SP2 (ou celle de ton choix) en pré-requis.

    Concrètement, dans Visual Studio :
    Propriété du projet -> Onglet "Publier" -> bouton "Composants requis..."
    Et là tu peux choisir parmi une liste ou à partir du site Web du fournisseur du composant ou d'un emplacement à préciser.

  8. #8
    Membre averti
    Inscrit en
    Août 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 15
    Par défaut
    Merci pour cette réponse très rapide.
    Mais j'ai avancé dans ma recherche.
    Un moyen me semble de fouiller dans les clefs
    [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<GUID aléatoire>]
    et de parser les valeurs
    DisplayName et DisplayVersion
    qui valent
    Microsoft .NET Framework 2.0 et 2.0.50727
    ou
    Microsoft .NET Framework 2.0 Service Pack 2 et 2.2.30729

    C'est boiteux, je sais.

    Autre question :
    je distribue bien le prérequis
    Microsoft .NET Framework 2.0
    avec clickOnce
    mais je n'ai pas dans ma liste de prérequis distribuables la version SP2 (pourtant mon poste est équipé de SP2)
    Je n'arrive pas à trouver sur le WEB comment obtenir la version distribuable de ce sacré SP2.

    Je sais que le redistribuable 2.0 est dans le répertoire
    %Program Files%\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\dotnetfx
    Je ne sais pas comment récupérer la version SP2 équivalente.
    Le seul SDK 2.0 de visual studio installe la version 2.0 du bootstrap, pas de version SP2.

    Si vous avez des pistes ...

  9. #9
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Citation Envoyé par dhalte
    Je n'arrive pas à trouver sur le WEB comment obtenir la version distribuable de ce sacré SP2.
    Dans le lien que tu as mis juste avant, tu as dans les méthodes de résolution le lien de téléchargement.
    Soit celui-ci en version française :
    http://www.microsoft.com/downloads/d...d-10e506da9d0f

Discussions similaires

  1. Comment nommer les versions d'une application
    Par Bweb dans le forum Langages de programmation
    Réponses: 10
    Dernier message: 15/02/2013, 16h07
  2. [2.0] Doit-on garder les autres versions du Framework ?
    Par zooffy dans le forum Framework .NET
    Réponses: 2
    Dernier message: 26/06/2006, 12h42
  3. [langage] vérifier les caractères d'une chaîne
    Par perlaud dans le forum Langage
    Réponses: 2
    Dernier message: 24/05/2004, 17h43

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