IMX
Messages postés16Date d'inscriptionmercredi 16 avril 2003StatutMembreDernière intervention 4 mai 2011
-
24 mars 2008 à 22:04
amoum
Messages postés5Date d'inscriptiondimanche 23 mars 2008StatutMembreDernière intervention17 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, ...)
IMX
Messages postés16Date d'inscriptionmercredi 16 avril 2003StatutMembreDerniè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.
edt992
Messages postés18Date d'inscriptionmercredi 19 juillet 2006StatutMembreDernière intervention10 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é.
edt992
Messages postés18Date d'inscriptionmercredi 19 juillet 2006StatutMembreDernière intervention10 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...
IMX
Messages postés16Date d'inscriptionmercredi 16 avril 2003StatutMembreDerniè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
Vous n’avez pas trouvé la réponse que vous recherchez ?
amoum
Messages postés5Date d'inscriptiondimanche 23 mars 2008StatutMembreDernière intervention17 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