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 :

[COM] Bibliothèque d'intéropérabilité COM


Sujet :

Framework .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 8
    Par défaut [COM] Bibliothèque d'intéropérabilité COM
    Bonjour,

    Lorsque j'ajoute une référence COM et lorsque Visual Studio .NET crée une bibliothèque d'intéropérabilité avec cet objet, est-il possible que Visual Studio .NET ajoute des interfaces dans la base de registre ?

    Si tel est le cas, est-ce que cette interface d'intéropérabilité est portable sur d'autres plateformes Windows contenant uniquement l'objet COM dans la base de registre ?

    Aussi, existe-t-il un outil pour fabriquer cette bibliothèque d'intéropérabilité sans passer par Visual Studio .NET ?

    Je vous remercie d'avance pour vos réponses et, svp, n'hésitez pas à me demander des précisions si je n'ai pas été suffisamment clair.

    --
    Nadi

  2. #2
    Membre Expert Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Par défaut
    L'outil pour générer les bibliothèque d'interopérabilité, utilisé par VS.Net, s'appelle Tlbimp.exe (installé avec le framework SDK et VS.Net).

    Je ne comprend pas ce que tu appelles des "interfaces dans la base de registre".

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 8
    Par défaut
    Lorsque j'enregistre mon objet COM dans la base de registre, celui-ci n'insère des valeurs que dans les répertoires CLSID et TypeLib.

    Or, lorsque je déploie mon application ASP.NET utilisant des bibliothèques d'intéropérabilité COM, sur une nouvelle plateforme, l'application ne marche pas car elle cherche une valeur se trouvant dans le répertoire Interface de la base de registres (concernant mon objet COM).

    Je me demandais donc si VS.NET créait ces nouvelles entrées (qui existe sur ma plateforme de développement) dans le répertoire Interface.

    Le problème de Tlbimp est qu'elle est fournie justement avec le SDK. Je ne peux donc pas l'utiliser dans la plateforme cible (ne comportant pas Visual Studio)...

    En règle générale, sais-tu comment déployer des applications ASP.NET utilisant des bibliothèques d'intéropérabilité COM ? (le XCOPY n'étant visiblement pas suffisant pour ma part).

  4. #4
    Membre Expert Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Par défaut
    Tlbimp.exe s'utilise pour créer la bibliothèque d'interopérabilité.
    Après tu vas distribuer cette bibliothèque. Elle sera ajoutée automatiquement dans ton projet de setup. Il ne faut pas en recréer une sur chaque poste client, heureusement.

    En revanche, pour utiliser un composant COM sur un poste client, il faut que ce composant soit enregistré.
    En ligne de commande, cet enregistrement passe par l'utilitaire windows regsvr32.exe.
    Il doit exister une façon de demander l'enregistrement des composants COM additionnels automatiquement dans un projet de setup, je t'invite à chercher un peu.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 8
    Par défaut
    C'est justement là mon problème....

  6. #6
    Membre Expert Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Par défaut
    Je comprend pas...
    C'est quoi le problème ?
    Précisémment stp, les dialogues de sourd j'aime vraiment pas.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 8
    Par défaut
    Je cherche la façon de demander l'enregistrement des composants COM additionnels automatiquement.

    J'ai maintenant réussi à en trouver la liste manuellement. J'ai ajouté les clés nécessaires dans mon setup et mon application marche enfin. Le fait que tu m'aies confirmé que les bibliothèques d'intéropérabilité sont portables m'a beaucoup soulagé !

    Cependant, juste par curiosité, j'aurai aimé savoir comment rechercher les composants COM additionnels automatiquement et, si possible, que tu me confirmes que Tlbimp.exe crée ces composants COM additionnels et pourquoi ?

    En tout cas, je te remercie beaucoup pour tes réponses et ta disponibilité...
    En espérant de pas t'avoir enervé...

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 8
    Par défaut
    Au fait, pour les intéressés, j'ai réussi à récupérer la liste simplement en capturant les exceptions et en notant les clés de registre manquantes...

    J'ai ensuite copié ces clés de registre manquantes dans mon setup (ces clés de registre manquantes se trouvant sur ma plateforme de développement) .

    Comme tu le vois, ce n'est pas propre comme procédé...
    Ca n'aura que le mérite de marcher...

  9. #9
    Membre Expert Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Par défaut
    Citation Envoyé par nadi
    Cependant, juste par curiosité, j'aurai aimé savoir comment rechercher les composants COM additionnels automatiquement
    Si ça existe, c'est quelque part dans la doc des projets de setup. La réponse m'intéresse, si tu trouves, n'hésite pas à partager.
    Citation Envoyé par nadi
    et, si possible, que tu me confirmes que Tlbimp.exe crée ces composants COM additionnels et pourquoi ?
    Ah non, Tblimp.exe ne créé pas de composant.
    Il créé un assembly "proxy" qui va te permettre d'accéder aux fonctionnalités de ton composant COM en .Net.
    Pourquoi ? Paske COM c'est du Win32 à la base.
    Citation Envoyé par nadi
    En tout cas, je te remercie beaucoup pour tes réponses et ta disponibilité...
    En espérant de pas t'avoir enervé...
    Lol, j'ai encore jamais mangé personne sur ce forum

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 27/06/2007, 10h43
  2. [COM] Documentation fonctionnalités "objet COM" / word
    Par Finidrigoler dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 22/08/2006, 16h27
  3. [Port COM]Bizzarrerie des ports COM
    Par loverdose dans le forum Windows XP
    Réponses: 5
    Dernier message: 01/06/2006, 16h41
  4. developpez.com bibliothéques c & c++
    Par jadey dans le forum MFC
    Réponses: 8
    Dernier message: 21/03/2006, 13h09

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