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

C# Discussion :

[SetupProject] Intégrer un correctif microsoft KB dans un projet de déploiement


Sujet :

C#

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut [SetupProject] Intégrer un correctif microsoft KB dans un projet de déploiement
    Bonsoir à tous !

    J'ai un projet Setup sous Visual Studio 2010.
    Je souhaite vérifier la présence d'un correctif de Microsoft (KB976477):
    http://support.microsoft.com/kb/976477

    (c'est un correctif qui ajoute une fonctionnalité à office 2007 pour le déploiement d'addin vsto pour all users)

    Le problème c'est que j'ai fais une VM, xp + office 2007 que j'ai update à ce jours, dans la liste des programme + afficher les mise à jours, je ne vois pas ce fameux KB976477, hors l'install de ce KB me dit qu'il est présent. Et en effet la MAJ doit etre présente, car la fonctionnalité marche bien !

    Le problème c'est que je ne sais pas vraiment sur quoi me baser pour tester si le correctif est actif sur la machine.
    Surtout que le correctif lui même doit bien mettre 5 bonnes secondes avant de dire si le correctif est présent ou non, j'ai essayé de logger les appels regedit & co avec procmon.... mais c'est vraiment trop verbeux.

    Les différentes solutions auquel j'ai pensé :
    solution 1 - si office 2007 est présent, toujours lancer le kb (la plus simple)
    solution 2 - si office 2007 + l'utilisateur selection "all users" dans le setup alors au déploiement lancer le kb
    solution 3 - Tester si le correctif est présent et lancer le kb en prérequis par condition (je sais vraiment pas quoi tester)

    Est ce possible de faire çà avec des conditions dans un setup project ?
    Que me préconisez vous ?

    Merci

  2. #2
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 442
    Points
    4 442
    Par défaut kb present sur machine cible,pre-requisite
    bonjour alavole

    Il doit figurer dans le dossier "bootstrapper" .Ce dossier contient tous les packages installables que tu vois dans la boite de dialogue des pre-quis.
    Une fois installe la ,il apparaitra dans la boite de dialogue pre-quis ou tu le cocheras,ce qui simplifie la vie.
    Ce dossier s'appelle chez moi (vs 2008) comme suit :
    C:\Program Files\Microsoft SDKs\Windows\v6.0A
    mais il peut differer legerement dans VS 2010 (que je n'ai pas encore installe).
    Jette-y un coup d'oeil pour te familiariser.
    Ce qui fait que si tu veux avoir ton KB dans boite de dialogue pre-requis pour pouvoir simplement dire à ton projet setup qu'il doit verifier sa presence sur la machine cible ,il faut qu'il y figure dans dossier BootStrapper de ta machine dev.

    Cote pratique:
    IL y a l'outil 'utilitaire Manifeste Generator "gratis" de microsoft que tu installes sur ta machine.Tu lui indique le kb.exe et hop il genere un fichier product.xml(manifeste du produit) et copie :et le kb.exe et le product.xml dans le dossier cite ci-dessus .
    Tout est pret tu as ton kb dans boite de dialogue pre-requis.
    ici le lien qui feras ton bonheur Manifeste Generator :
    http://code.msdn.microsoft.com/bmg

    bonne soiree.......

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    MABROUKI
    Merci

    En effet, j'avais testé la technique.

    Sauf que:
    - le bootstrap n'a pas eu l'inteligence de savoir si le pre requis etait deja installé ! (en gros il le lance meme si la machine est à jours)
    - j'ai d'autre pre-requis (.net 4...), et de mémoire on ne peut pas dire:
    tel prerequis s'install depuis internet (les plus lourd genre .net 4), et tel autre est fourni dans le package, on est obligé de dire: tout les prerequis: sont soit distribué depuis le package, soit internet...

    Demain je vais essayé de plus approfondire le boostrap... mais je trouve que c'est pas super, surtout que c'est lié à la machine du dev (programm file)... les autre dev sur SVN risque de ne plus pouvoir compiler

  4. #4
    Membre actif Avatar de oussi
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 192
    Points : 290
    Points
    290
    Par défaut
    Tu peux récupérer les mises à jour installées à travers le registe de windows.
    Cépendant je ne me souviens plus de la clé je chercherai et si je trouve je te le dis.

    @++

  5. #5
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 442
    Points
    4 442
    Par défaut PRE-REQUIS
    Bonjour
    c'est le KB qui est mal fichu parce que c'est la fonction du KB de verifier s'il doit installer la maj ou si elle est deja installe.
    certains KB de - microsoft- mais pas tous verifient effectivement ,d'autres ne le font pas du tout.
    Mais ce n'est pas le role de msi de faire cette verification.
    bonne soire...........

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    MABROUKI
    Le KB vérifie bien la présence ou non du correctif en effet.
    Mais bon pour .net 4 il ne lance pas l'install pour vérifier si c'est présent ou non, il check juste une valeur dans le registre, je voulais faire de meme pour le KB.

    Mais je crois qu'il est préférable de toujours lancer le KB si présence d'office 2007.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    MABROUKI
    Ya un truc qui me dérange:

    - j'ai comme prerequis la full framework 4.0, elle pèse 50mo, je ne la fournis pas dans mon setup (de 5mo), je permet juste son téléchargement en cochant dans les propriétés de VS: télécharger les composants requis à partir du site internet du fournisseur.
    - si j'ajoute le KB et que je reste dans la configuration via internet, il va toujours demander à l'utilisateur d'aller sur le net pour DL le KB alors que c'est pas forcement necessaire !

    Ya pas un moyen d'utiliser les condition plutot que les prerequis:
    - typiquement si office 2007 alors executer en local le KB que je fournis ?

    Ou mieux:
    - si l'utilisateur pendant l'install coche "all user" alors à l'installation un custom action qui execute le KB ?

    --- REFLEXION ---
    si j'utilise les conditions, ca m'oblige à connaitre la logique du KB et de savoir tester si le correctif est présent // pour le moment je sais pas comment faire et c'est plutot risqué

    si j'utilise les custom action, c'est pas mal mais je ne sais pas si je peux fournir une ressource (le KB) et l'exécuter pendant le déploiement...

Discussions similaires

  1. Intégrer Doctrine 2.3.1 dans un projet
    Par xess91 dans le forum Doctrine2
    Réponses: 2
    Dernier message: 25/01/2013, 22h34
  2. Ajouter un exécutable dans un projet de déploiement
    Par 3aychoucha dans le forum Windows Forms
    Réponses: 4
    Dernier message: 02/04/2011, 23h55
  3. Réponses: 8
    Dernier message: 26/10/2010, 16h05
  4. Réponses: 13
    Dernier message: 08/03/2010, 19h31
  5. EDI pour intégrer efficacement de l'assembleur dans du C/C++
    Par Selenite dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 04/04/2004, 18h27

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