Pb appel Dll en VB.Net depuis VBA word

Résolu
IMX Messages postés 16 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 4 mai 2011 - 24 mars 2008 à 22:04
amoum Messages postés 5 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 17 février 2009 - 3 avril 2008 à 21:01
Bonjour,

je viens vers vous car je pense avoir épuisé Google sur le sujet.

Voilà mon problème : j'ai fait une dll en VB.Net avec visual studio express 2005 pour gérer les doc XML dans les versions de word ne les gérant pas (word 2003 standard et avant).
La dll est signé, avec un fichier de clé de nom fort, elle est rendue visible par COM. Les fonctions ont été rendu visibles par COM, etc,...
Sur mon pc (win xp sp2) où j'ai créé la dll, tout se passe bien. J'ai enregistré la dll avec regasm (regasm madll.dll /tlb:maddll.tlb /codebase) et gacutil (je ne sais pas si c'était nécessaire pour ce dernier, mais bon je l'ai fait).
Tout marche bien, les fonctions de la dll est appelée dans le code vba de word ( après avoir coché madll.tlb comme réf).
Je veux distribuer maintenant mon appli. J'utilise Inno setup, je copie ma dll dans le dossier système du pc, et j'enregistre la dll avec regasm (code ci-après).

"procedure myinstall();
var
  ResultCode: Integer;
  chemin: string;


begin
      chemin := ExpandConstant('{win}\Microsoft.NET\Framework\v2.0.50727\regasm.exe ');


      if Exec(chemin ,'madll.dll /tlb:madll.tlb /codebase',  ExpandConstant('{sys}'), SW_SHOW, ewWaitUntilTerminated, ResultCode) then begin
  //    MsgBox('OK', mbInformation, MB_OK);
      end else begin
      MsgBox('An error occured during madll.dll registration', mbInformation, MB_OK);
      end;
end;"

Quand j'installe, tout se passe bien, il n'y a pas de soucis. Lorsqu'on ouvre le modèle word, aucune erreur à la compil.
Le problème est, après déclaration de l'objet, quand j'appelle une des fonctions de la dll. J'ai l'erreur "Automatio Error n -2146232576 (80131700)"  sans autres détails.

J'ai lu pas mal de trucs là-dessus, même le problème dont ils parlent sur microsoft KB908002. Mais pourquoi cela ne macherait sur l'un des pc et pas sur l'autre ?? (apparemment ce sont les mêmes : win xp sp2, office, framework, ...)

Je ne vois vraiment pas ce qui cloche...

Si quelqu'un a une idée, je suis super preneur .

Merci,

IMX

8 réponses

IMX Messages postés 16 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 4 mai 2011
26 mars 2008 à 22:20
Finalement, j'ai installé le patch KB908002sur la machine où j'ai installé l'appli et ça marche ! J'ai peut-être (surement) mal lu les explications sur le site de microsoft. Je pensais que c'était lié à visual studio express lors de la création de la dll. Cela veut quand même dire qu'il faut que je prévienne les gens que s'ils ont visual studio sur leur pc, il faut installer le patch avant d'utiliser le fichier word.

En tout cas merci pour tes réponses edt992.

IMX
3
edt992 Messages postés 18 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 10 avril 2008
27 mars 2008 à 10:05
Le patch est effectivement à installer sur les machines cibles, mais même si elles n'ont pas VS dessus.

En fait, pour être plus précis, ce patch est à installer uniquement sur la machine qui compile l'application à diffuser, mais il faut sélectionner ce patch comme prérequis sous l'onglet Publication, ce qui aura pour effet de diffuser 3 fichiers supplémentaires avec le programme, qui sont :
<li>extensibilityMSM.msi</li><li>lockbackRegKey.msi</li><li>office2003-kb907417sfxcab-ENU.exe</li>C'est ces fichiers qui devront être exécutés sur les machines cibles pour que le programme diffusé fonctionne, et non pas le patch
KB908002 lui-même, ce dernier provoquant un message d'erreur si VS n'est pas installé.
3
edt992 Messages postés 18 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 10 avril 2008
25 mars 2008 à 11:48
J'avais le même genre de problème, mais pour un composant Net exposé sous forme de controle (et pas de libairie) activex. Il marchait en VB6, mais en VBA ca marchait que sur certaines machines. Sur d'autres, j'avais des erreures variées, parfois celle que tu indique. En fait, même, ça marchait avec certains utilisateurs et pas d'autres sur une même machine ! J'ai fini par faire un rapprochement (sans garanti) ça marchait toujours avec un compte standard, et jamais avec un compte administrateur (un comble!)

J'ai installé le patch [c.aspx?u=aHR0cDovL3N1cHBvcnQubWljcm9zb2Z0LmNvbS9zZWFyY2gvZGVmYXVsdC5hc3B4P21vZGU9ciZhbXA7cXVlcnk9a2I5MDgwMDImYW1wO2NhdGFsb2c9TENJRCUzRDEwMzMmYW1wOzEwMzNjb21tPTEmYW1wO3NwaWQ9Z2xvYmFs KB908002] dont tu parles, ça sa semble avoir résolu mon problème...
0
IMX Messages postés 16 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 4 mai 2011
25 mars 2008 à 21:58
Merci pour ton message, j'ai l'impression que je ne suis pas sorti de l'auberge !!! Je vais essayer de refaire la dll maintenant que j'ai installé le patch, on verra bien...

IMX
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
edt992 Messages postés 18 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 10 avril 2008
25 mars 2008 à 23:07
Le patch a été effectif dès qu'il a été installé, pour moi. Je n'ai pas eu besoin de recompiler quoique ce soit !
0
IMX Messages postés 16 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 4 mai 2011
25 mars 2008 à 23:27
De toutes façons, ça ne marche pas...

Je vais essayer de désinstaller tout, je vais peut-être installer visual studio express 2008, soyons fou....

IMX
0
IMX Messages postés 16 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 4 mai 2011
27 mars 2008 à 12:22
Merci beaucoup !!!

Au plaisir.

IMX
0
amoum Messages postés 5 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 17 février 2009
3 avril 2008 à 21:01
Salu a tous le monde je veux acceder au port parallele et je ne sais pas comment utiluser le fichier dll sachant que ma language choisite est  vb.
Svp si vous avez une documentation sur l'utilusation de ce fichier envoyez la moi
Merci pour votre attention
0
Rejoignez-nous