Использование MS Office Interop v11 с Office 2010

Мы переносим некоторые устаревшие приложения с Win 2003 Server + IIS6 на новый сервер Win 2008 Server + IIS7.

Мы сталкиваемся с несколькими проблемами, последняя из которых заключается в том, что некоторые из наших приложений используют Office Interop v11 (Office 2003), в то время как на новом сервере установлен Office 2010 ( + interop v14).

Я получаю эту ошибку:

Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005.

Я пытался решить эту проблему на многих форумах (на этом, например, http://forums.asp.net/t/1303594.aspx/1). Но ничего не меняется...

Теперь мне интересно, может ли это зависеть от другой установленной версии взаимодействия. Есть ли способ заставить работать старые приложения без перекомпиляции их для новой версии взаимодействия?

2 ответа

Решение

Чтобы решить эту проблему, я просто установил Office 2003 на новый сервер. (Я обнаружил, что две версии Office могут сосуществовать без конфликтов на одной машине...)

Попробуйте NetOffice. Это довольно прозрачная оболочка для Office Interop API. Они обнаруживают и загружают доступные библиотеки Interop во время выполнения, поэтому вам не нужно строить решение на их основе.

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