Как использовать распространяемый PIA 2010 для создания приложения Excel на компьютере, на котором не установлен клиент MS Office

В последние пару дней я борюсь с распространяемой PIA 2010. На самом деле я создал одно приложение Excel локально, которое использует PIA 2007 (на моем компьютере также установлен MS Office). Это приложение работало нормально, теперь я установил PIA 2010 и зарегистрировал его Microsoft.Office.Interop.Excel dll Затем я удалил, а затем добавил эту новую DLL в моем ранее созданном приложении Excel, но теперь приложение падает при создании объекта Excel. т.е.

var app = new Application();

и ниже ошибка отображается в браузере.

Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.Office.Interop.Excel.Application'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{000208D5-0000-0000-C000-000000000046}' failed due to the following error: Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)).

Теперь, кто-нибудь может сказать мне, что именно я не так делаю? Является ли это правильным подходом к созданию приложения Excel с использованием только распространяемой PIA 2010. Если нет, пожалуйста, помогите мне, как правильно решить эту проблему.

1 ответ

Решение

Распространяемые PIA - это просто "дополнение", необходимое для VS 2008 и старше. Данная версия MS Office в любом случае должна быть установлена ​​на целевом компьютере. Если вы создали приложение, использующее объект Microsoft Excel Office 2010 (версия 14.0), оно будет работать только на компьютерах, на которых установлен Office 2010. Если, кроме того, вы создали его с использованием VS 2008 или более ранней версии, вам также необходимо установить соответствующий пакет PIA.

Другие вопросы по тегам