Błąd dostępu do komponentów COM

Zbudowałem dodatek do Microsoft Office Word. Dodatek nie występuje, gdy program Word jest uruchamiany jako administrator, ale gdy nie jest uruchomiony jako administrator, istnieją dwa powszechne wyjątki dotyczące dostępu do elementów wstążki.

Pierwszy wyjątek:

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)

Ten błąd występuje, gdy kontrola jest unieważniana przez następujący kod:

ribbon.InvalidateControl("control-id");

I drugi wyjątek:

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()

Ten błąd występuje w ostatnim wierszu następującego kodu:

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

Jak mogę rozwiązać ten problem?

questionAnswers(6)

yourAnswerToTheQuestion