2010-07-27 8 views
0

J'ai une application qui me permet de numériser des images sur mon PC de développement qui fonctionne avec succès. Il utilise la DLL COM ActiveX Microsoft Windows Image Acquisition. Je cours VS2008 sur Windows 7 64 bits.WIA interop déploiement via VS ClickOnce

Je rencontre des problèmes lors du déploiement de la DLL Interop à l'aide de ClickOnce. Ce composant est référencé par le projet VS de la manière habituelle (et copie local = true). Lorsque j'installe l'application sur une machine Windows XP, j'obtiens une erreur indiquant que la bibliothèque est manquante (c'est-à-dire qu'elle n'a pas été installée/enregistrée correctement). Ayant regardé dans le répertoire System32, la DLL n'est pas là, elle doit donc être déployée via mon application.

Après avoir regardé sur le web et d'essayer diverses solutions, je puis essayé la méthode Microsoft de « COM d'enregistrement sans » ici: http://msdn.microsoft.com/en-us/library/ms165432%28VS.80%29.aspx

Cependant, changer la propriété isolée True puis a causé 2 erreurs de compilation en raison de dupliquer les entrées dans le registre. Après avoir trié ces entrées manuellement, j'ai ensuite déployé mon application à nouveau avec le composant COM supposément isolé, mais quand j'essaie de numériser un document, je reçois maintenant ce message:

'L'entrée de la procédure point_except_handler4_common n'a pas pu être localisée dans le bibliothèque de liens dynamiques msvcrt.dll '

J'ai l'impression de tourner en rond avec celui-ci. Quelqu'un peut-il m'éclairer sur la façon de déployer l'interopérabilité WIA via ClickOnce pour toutes les versions de Windows à partir de XP?

Votre aide sera grandement appréciée.

Merci

Répondre

1

Ne pas copier les DLL système de votre machine Win7 à la machine XP, qui ne peuvent pas travailler. Il aurait été plus facile si vous avez nommé le fichier, je devinerais wiaaut.dll, le fournisseur WIA Automation. Il n'est probablement pas installé sur la machine XP.

Demandez au client d'installer this download sur la machine. Vous n'avez pas besoin de COM sans reg, ce sont des composants du système.

+0

Merci pour la suggestion, mais il ne répond pas vraiment à ma question - je ne veux pas avoir installer manuellement la DLL sur chaque PC où l'application sera installée. Je veux déployer le wiaaut.dll via l'installateur ClickOnce de mon application, au cas où il serait absent de la machine cible. Il doit y avoir un moyen de le faire, comme suggéré par le COM sans reg. – JamesW

+0

Vous ne pouvez pas légalement distribuer des composants Windows. –

+0

Ok ... Donc, dites-vous que la DLL devrait déjà être présent sur XP pcs? Si oui, alors je suppose que je vais devoir descendre la route d'installation manuelle. J'ai vérifié quelques autres PC XP et la DLL est manquante de tous, malgré qu'ils soient à jour. Je pensais que WIA a été introduit à partir de Windows ME ... – JamesW

Questions connexes