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, ...)
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.
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é.
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...
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...
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