У меня есть приложение для winform C#, скомпилированное для платформы x86, с использованием библиотек interel 2003 COM interop. Проект Visual Studio ссылается на следующие файлы interop для Office 2003)Excel Interop - Тип не зарегистрирован
Microsoft.Office.Interop.Excel.dll (v 11.0.0, specific version = true) Microsoft.Vbe.Interop.dll (v 11.0.0) , specific version = false)
Это приложение отлично работает на большинстве компьютеров с Excel 2003,2007 и 2010, но один из пользователей сообщил об этом ниже.
Это пользователи имеет окна 7 и Офис 2010
System.InvalidCastException: Unable to cast COM object of type 'Microsoft.Office.Interop.Excel.ApplicationClass' 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)).
at Microsoft.Office.Interop.Excel.ApplicationClass.get_Workbooks()
Из того, что я прочитал, эта проблема может происходит с противоречивыми версиями Office, но, как я специально ссылающийся на 2003 Офис ПОО и их распространение наряду с приложением я не уверен, что может вызвать проблему.
Thanks
Вы видели [это] (http://social.msdn.microsoft.com/Forums/en-US/6b793878-d94a-4a62-8817-dea1cab79377/interopexcel-after-uninstalling-office-2007-and- install-office-2003? forum = vbinterop) –
Да, но в моем сценарии я правильно ссылаюсь на PIA (v11, Excel 2003), который должен использовать клиент – David
. Задерживается ли опция, которую вы можете выполнять? Таким образом, вам не нужно беспокоиться о том, что когда-либо было у версии ПК назначения. –