9
votes

Outlook 2007 à partir de C # - COMB Exception, type_e_libnoTregistered

J'essaie de créer un programme qui ouvrirait un nouveau message Outlook 2007.

J'ai référé à partir de l'onglet COM Microsoft Outlook 12.0 ObjectLibrary. P>

Ces éléments sont apparus dans des références dans VS: P>

var _outlookInstance = new Microsoft.Office.Interop.Outlook.Application();
var _message = (OutlookApp.MailItem)_outlookInstance.CreateItem(OutlookApp.OlItemType.olMailItem);


0 commentaires

4 Réponses :


5
votes

Office n'est pas correctement installé sur cette machine. Vous pouvez vérifier qu'avec Regedit.exe, accédez à HKEY_CLASSES_ROOT \ Interface \ {0003001-0000-0000-C000-000000000046} \ TYPELIB Pour vérifier le type de bibliothèque de type (devrait être {00062FF-0000-0000 -C000-000000000046}), puis à HKEY_CLASSS_ROOT \ TYPELIB \ {00062FFF-0000-0000-C000-000000000046} Pour vérifier que la bibliothèque de types est en effet correctement enregistrée, en utilisant le numéro de version de la bibliothèque de type correct. La dernière partie devrait être le problème.

Si la machine cible exécute une version 64 bits de Windows, essayez de définir les propriétés Project +, la construction, la cible de la plate-forme à X86.


4 commentaires

Sous Windows X64, découvrez le registre WOW64 ( support.microsoft.com/kb/896459 )


@nobugz: À propos de cette deuxième étape: lorsque je vais naviguer vers cette valeur de localisation stockée, il dit "Valeur non définie". est-ce un problème? Devrait-il être réglé sur une valeur spécyfic? Si oui, quelle valeur devait être là. Dans les nœuds d'enfants de HKEY_CLASSES_ROOT \ TYPELIB \ {00062FF-0000-0000-C000-00000000000 046} a des valeurs quotidiennes aussi. Shoud ils seraient partis?


Eh bien, cela explique pourquoi cela ne fonctionne pas. Aucune idée de ce qui s'est passé, poursuit l'angle "non correctement installé". Peut-être que votre registre est grillé, essayez-le sur une autre machine.


S'est avéré être la plate-forme de construction pour moi. Merci!



10
votes

Cela peut également se produire lorsque vous avez désinstallé une installation Office 2013 et vous revenez au bureau 2010. Il peut y avoir des clés de registre et des dlls à gauche, ce qui entraîne la charge de l'application Office de charger la mauvaise DLL.

Voici le correctif: http://www.fieldstonsoftware.com/support/support_gsyncit_2013.shtml


3 commentaires

Awesome Trouver - Suppression HKEY_CLASSES_ROOT \ TYPELIB \ {00062FFF-0000-0000-C000-000000000 046} \ 9.5 Est-ce que l'astuce! Ceci est une erreur avec le désinstallateur Office 2013 .


Bonne trouvaille, qui corrige mon problème +1


Cela n'a pas fonctionné pour moi, car il n'y avait pas de champ excessif de 9,5. Dans mon cas, le problème était que lorsque j'ai rétrogradé à Outlook 2010, j'ai modifié l'emplacement d'installation (c'est-à-dire pas dans le dossier de programmation par défaut). Cependant, Windows n'a pas mis à jour en conséquence la valeur de 'hkey_classes_root \ typelib \ {00062fff-0000-0000-c000-00000000 0046} \ 9,4 \ 0 \ win64' après une mise à jour manuelle et la pointant vers le bon emplacement, le le problème a été résolu.



0
votes

avait le même problème avec le code suivant:

 Dim OutlookMessage As Object


0 commentaires

1
votes

Si vous essayez d'accéder à Outlook à partir de Visual Studio et d'obtenir l'erreur:

TF400424: Impossible d'envoyer à Microsoft Outlook: Impossible de lancer un objet COM de type 'Microsoft.Office.interop.outlook.ApplicationClass' to Interface Type 'Microsoft.Office.interop.outlook._application'. Cette opération a échoué parce que l'interface de QueryInterface sur le composant COM de l'interface avec IID '{00063001-0000-0000-C000-00000000000046}' a échoué en raison de l'erreur suivante: la bibliothèque non enregistrée. (Exception de HRESULT: 0x8002801D (type_e_libnotregistered)).

procéder à ce qui suit:

  1. Utilisation du registre, Naviguez sur: HKEY_CLASSES_ROOT \ TYPELIB {00062FFF-0000-0000-C000-000000000046}
  2. Supprimer Les touches de version (E.G. 9.5) Pour toute version d'Outlook non installée sur votre système basée sur la table de version fournie ci-dessous. Par exemple, si vous n'utilisez PAS Outlook 2013, supprimez l'entrée "9.5". Si vous n'utilisez PAS Outlook 2010, supprimez l'entrée «9.4». Ne supprimez pas l'entrée de la version configurée dans étape 1

    Outlook 2007 ==> 9.3

    Outlook 2010 ==> 9.4

    Outlook 2013 ==> 9.5

     Entrez la description de l'image ici


    référence: https://support.netdocuments.com/hc/en-us/articles/205219170--Brary-not-registered-Error-Lqus-utilisation-ems-in-outlook


0 commentaires