На этом компьютере следующий код:
Код: Выделить всё
Microsoft.Office.Interop.Outlook.Application myOutlook = new Microsoft.Office.Interop.Outlook.Application();
string theName = myOutlook.Name;
Невозможно привести COM-объект типа
'Microsoft.Office.Interop.Outlook.ApplicationClass' к типу интерфейса
'Microsoft.Office.Interop.Outlook._Application'. Эта операция не удалась
, поскольку вызов QueryInterface компонента COM для интерфейса
с IID '{00063001-0000-0000-C000-000000000046}' завершился неудачно из-за
следующей ошибки: Библиотека не зарегистрирована. (Исключение из HRESULT:
0x8002801D (TYPE_E_LIBNOTREGISTERED)).
Я удалил указанную ниже запись реестра, и приведенный выше код работал нормально. Как только запускаются обновления Windows, приведенная ниже запись вставляется снова, и приведенный выше код снова вызывает исключение.
HKEY_CLASSES_ROOT\TypeLib{00062FFF-0000-0000-C000-000000000046}\9.4
1) Запись реестра не может быть удалена из приложения из-за разрешений
2) Необходимы две версии офиса
3) Строка «string theName = myOutlook.Name;» можно заменить любой строкой, ссылающейся на переменную myOutlook, с точно таким же результатом.
4) Тот же код отлично работает на компьютерах с установленным MS Office 2007, включая MS Outlook.
Любое предложение будет высоко оценено.
Подробнее здесь: https://stackoverflow.com/questions/282 ... registered
Мобильная версия