Erreur d'accès aux composants COM

J'ai construit un add-in pour Microsoft Office Word. Il n'y a pas un problème à l'aide du complément quand le Mot est exécuté en tant qu'Administrateur, mais quand il n'est pas couru en tant qu'Administrateur, il y a deux exceptions accès à Ruban éléments.

La première Exception:

Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.Office.Core.IRibbonUI'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{000C03A7-0000-0000-C000-000000000046}' failed due to the following error:  could not be found. (Exception from HRESULT: 0x80030002 (STG_E_FILENOTFOUND)).
   at Microsoft.Office.Core.IRibbonUI.InvalidateControl(String ControlID)

Cette erreur se produit lorsque le Contrôle est invalidé par le code suivant:

ribbon.InvalidateControl("control-id");

Et la deuxième Exception:

Unable to cast COM object of type 'Microsoft.Office.Interop.Word.ApplicationClass' to interface type 'Microsoft.Office.Interop.Word._Application'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{00020970-0000-0000-C000-000000000046}' failed due to the following error:  could not be found. (Exception from HRESULT: 0x80030002 (STG_E_FILENOTFOUND)).
   at Microsoft.Office.Interop.Word.ApplicationClass.get_Selection()

Cette erreur se produit sur la dernière ligne du code ci-dessous:

object wdStory = Word.WdUnits.wdStory;
object wdMove = Word.WdMovementType.wdMove;
WrdApp.Selection.EndKey(ref wdStory, ref wdMove)

Comment puis-je résoudre ce problème?

  • Cela fonctionne sur d'autres ordinateurs? Je me suis cassé le registre de l'autre jour (sur un des collègues de travail de l'ordinateur, pas moins) et a été victime de problèmes similaires à celui-ci tous les programmes qui ont utilisé des composants COM. Si il fonctionne sur un autre ordinateur, je vais vous expliquer ce que j'ai fait pour le résoudre.
  • Oui, les travaux dans l'ordinateur de développement. Seulement dans la machine de test ne fonctionne pas. Peut-être parce que je l'ai installer (et désinstaller) de nombreuses versions d'Office (2007, 2007-64, 2010, 2010-64)
  • Oh chers. Eh bien, ce système d'exploitation est la machine de test en cours d'exécution?
  • Windows 7 64bits avec Office 2007 32bits
  • Mais pourquoi quand je suis en cours d'exécution en tant qu'administrateur tout fonctionne bien?
  • Je ne sais pas, mais j'ai eu le même problème. Programmes en cours d'exécution en tant qu'administrateur travaillé, mais la plupart rencontrez des erreurs et de crash autrement. Je vais poster une réponse avec ce que j'ai fait.
  • J'ai supprimé ma réponse, car il ne fonctionne pas pour vous, et nous n'avons pas besoin de gens qui vont et exploser leurs registres en essayant risqué des solutions de ce type.
  • ok. Merci quand même! 🙂

InformationsquelleAutor Victor | 2012-10-18