Outlook 2007 à partir de C# - COM exception, TYPE_E_LIBNOTREGISTERED

Je suis en train de faire un programme qui permettrait d'ouvrir de nouveaux message d'Outlook 2007.

J'ai référencé d'onglet COM Microsoft Outlook 12.0 ObjectLibrary.

Ces éléments ont montré dans les références dans VS:

Microsoft.Office.Core
Microsoft.Office.Inerop.Outlook

Maintenant, j'essaie d'invoquer code suivant:

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

où OutlookApp==Microsoft.Bureau de.Interop.Outlook espace de noms.

Lors de l'ouverture de la seconde ligne de l'inscription, je reçois cette exception: (InvalidCastException)

Impossible de convertir l'objet COM de type
"Microsoft.Bureau de.Interop.Outlook.ApplicationClass'
pour type d'interface
"Microsoft.Bureau de.Interop.Outlook._Application'.
Cette opération a échoué car l'
Appel de QueryInterface sur la COM
composant de l'interface avec IID
'{00063001-0000-0000-C000-000000000046}'
a échoué en raison de l'erreur suivante:
Bibliothèque annulé.
(Exception de HRESULT: 0x8002801D
(TYPE_E_LIBNOTREGISTERED)).

Que le code a bien fonctionné pour Outlook 2003 sur mon autre station.

Je vais être reconnaissant pour toutes les idées sur la façon de le résoudre.

OriginalL'auteur PK. | 2010-02-27