У меня была программа на C #, которая немного автоматизировала Word и Excel, и она использовала основные сборки взаимодействия с Office 2003. Я развернул его, включив Interops в мусорное ведро, и моя программа ссылалась на него оттуда, а не на ссылку из GAC (не очень профессионально, но она работала несколько лет). Недавно на 3 компьютерах был установлен пакет совместимости с Office 2007, и теперь, когда мое программное обеспечение пытается вызвать Word или выдать сообщение об ошибке, я получаю сообщение об ошибке:
Невозможно привести объект COM типа Microsoft.Office.Interop.Word.ApplicationClass к типу интерфейса Microsoft.Office.Interop.Word.Application. Эта операция завершилась неудачно, поскольку вызов QueryInterface в компоненте COM для интерфейса с IID { 00020970-0000-0000-C000-000000000046} не удалось из-за следующей ошибки: Библиотека не зарегистрирована. (Исключение из HRESULT: 0x8002801D (TYPE_E_LIBNOTRurable))
После некоторых поисков я заметил, что установка пакета совместимости Word11 и Word12 была установлена в GAC и одинакова с Excel.
Я попытался сделать так, чтобы моя программа ссылалась на взаимодействие Word11 в GAC, но все еще не помогала.
Я удалил взаимодействие Word12 и до сих пор не помог.
Кажется, что установка этого, казалось, изменила некоторые настройки реестра или что-то, что мое программное обеспечение перепутало, не может найти правильную библиотеку.
У кого-нибудь есть идеи?