Zbudowałem dodatek do programu Microsoft Office Word. Nie ma problemu z używaniem dodatku, gdy program Word jest uruchamiany jako administrator, ale gdy nie jest uruchamiany jako administrator, istnieją dwa typowe wyjątki, które umożliwiają dostęp do elementów wstążki.Błąd dostępu do składników COM
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żniane przez następujący kod:
ribbon.InvalidateControl("control-id");
a 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?
Czy działa na innych komputerach? Zerwałem rejestr na drugi dzień (na komputerze współpracowników nie mniej) i miałem problemy podobne do tych wszystkich programów, które używały komponentów COM. Jeśli działa na innym komputerze, wyjaśnię, co zrobiłem, aby to naprawić. – Wug
Tak, działa w komputerze programistycznym. Tylko w maszynie testowej nie działa. Może dlatego, że instaluję (i jednoczęściowo) wiele wersji Office (2007, 2007-64, 2010, 2010-64) – Victor
Och kochanie. Jakim systemem operacyjnym jest uruchomiona maszyna testowa? – Wug