На этом компьютере следующий код:
Код: Выделить всё
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}' завершился неудачно из-за
следующей ошибки: Library not зарегистрирован. (Исключение из 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.< /p>
Любое предложение будет высоко оценено.
Подробнее здесь: https://stackoverflow.com/questions/282 ... registered
Мобильная версия