2010-01-14 20 views
2

J'essaie d'ouvrir un document PDF dans une application C# en utilisant Acrobat Inter Application Communication (IAC) dans un projet Visual C# 2008 Express Edition.
Lors de l'exécution du code ci-dessous je reçois une exception:Visual C# Express Edition - impossible de faire fonctionner le lecteur pdf Acrobat

CAcroPDDoc pdDoc = new AcroPDDocClass(); 

L'exception indique que l'usine de classe COM pour un CLSID particulier a échoué avec l'erreur 80040154. Vous le code d'erreur dans winerror.h sur MSDN l'erreur est lié au fait que la classe n'est pas enregistrée.
J'ai essayé d'utiliser regsvr32 pour enregistrer le fichier Interop.Acrobat.dll mais cela ne fonctionne pas (impossible de trouver le point d'entrée DllRegisterServer).
J'ai essayé l'exemple de projet C# fourni avec Acrobat 9 SDK (BasicIacCS - il existe un projet de studio visuel appelé BasicIacCS.suo, qui est importé dans C# Express sans erreur mais échoue avec la même exception).


Est-ce que je fais une erreur fondamentale? (Je suis nouveau à la programmation Windows/.NET)
Est-ce possible sous l'édition express ou devrais-je mettre à jour vers Visual Studio?


En regardant plus le problème le CLSID qui est par la plainte est disponible quand je fais un ILDASM de mon application (fichier .exe) - il est le CLSID de la classe AcroPDDoc je suis en train d'accéder. Cette classe et son CLSID associé sont absents du registre. J'ai seulement Acrobat Reader installé - pas la version complète. La version complète d'Acrobat est-elle requise pour accéder aux interfaces COM? (J'ai seulement Acrord32.dll, pas Acrobat.dll présent sur le système). J'ai essayé le même programme sur une autre machine Vista et ai désinstallé/réinstallé Arobat Reader avec le même résultat.

+0

Je pense que vous avez installé VS avant acrobat reader. – Brij

Répondre

2

Le problème est probablement dans le principal Acrobat dll n'étant pas enregistré, pas la DLL d'interopérabilité. Essayez de réinstaller Acrobat ou d'enregistrer les DLL Acrobat.

+0

Merci, je vais essayer ceci sur une autre machine. La machine que j'utilise actuellement a utilisé un installateur d'application étrange, donc je ne peux pas désinstaller Acrobat et essayer de réinstaller! Je pense que l'installation d'Acrobat n'a pas été entièrement pensée et pourrait bien être la cause de tous les problèmes que j'ai vécus :-( –