2016-04-27 1 views
0

Nous avons aC# -4,0 Cliquez une fois l'application WinForm avec un DataGrid qui affiche une liste des fichiers .msg qui ont été enregistrés sur notre serveur de fichiers, et Lorsque l'utilisateur double-clique sur une ligne de la grille, il ouvre le fichier .msg correspondant. Cette application est déployée sur plus d'une douzaine de stations de travail (toutes exécutant W7 64Bit Pro avec Outlook 2010) et fonctionne sans problème. Je suis la seule à recevoir cette exception. Le problème semble donc être avec Outlook sur mon poste de travail. .Outlook 2010 COM HRESULT: 0x80040155 Exception sur C# application, mais seulement sur mon poste de travail

Les espaces de noms utilisés sur le formulaire qui contient le DataGrid:

using Office = Microsoft.Office.Core; 
using Outlook = Microsoft.Office.Interop.Outlook; 
using System.Net; 
using System.Net.Mail; 
using System.Runtime.InteropServices; 
using System.Net.Mime; 
using System.Globalization; 

Les références dans Visual Studio 2010 Projet:

  • Microsoft.Office.Core Microsoft.Office.Interop.Outlook (Verson 14.0.0.0)
  • Microsoft.Office.Interop.Word Microsoft.Office.Tools.Common.v4.0.Utilities
  • Microsoft.Offi ce.Outlook.v4.0.Utilities

Dans le cas DoubleClick GridView:

Microsoft.Office.Interop.Outlook.Application oApp = new Microsoft.Office.Interop.Outlook.Application(); 

// The following line is where the exception is thrown. 
Microsoft.Office.Interop.Outlook.MailItem mail = (Microsoft.Office.Interop.Outlook.MailItem)oApp.Session.OpenSharedItem(Settings.Default.msgFilePath + @"\SL_Imported_Files\Customer\OLI\PA\SL_Int_" + inID + ".msg"); 
if (mail != null) 
    mail.Display(false); 

Marshal.ReleaseComObject(mail); 
mail = null; 

Le message d'exception:

{"Unable to cast COM object of type 'Microsoft.Office.Interop.Outlook.ApplicationClass' to interface type 'Microsoft.Office.Interop.Outlook._Application'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{00063001-0000-0000-C000-000000000046}' failed due to the following error: Interface not registered (Exception from HRESULT: 0x80040155)."}

J'ai vérifié la réponse acceptée de fil et this mon HKEY_CLASSES_ROOT\TypeLib\{00062FFF-0000-0000-C000-000000000046} est 9.4, aussi aucune autre version d'Outlook que jamais installer sur mon poste de travail, sauf pour 2010

Répondre

0

Il semble que cela soit lié à mon ancien poste de travail et à son installation Office. J'ai récemment déménagé sur un nouveau poste de travail avec une nouvelle installation de Windows et Outlook 2010 et ce problème a disparu.