Помилка при роботі з COM в Excel Application

127

Програмування Asp.net
Попередній

Наступний

При роботі з Excel виникає помилка

System.Runtime.InteropServices.COMException (0x80080005): Retrieving the COM class factory for component with INTERFACE {00024500-0000-0000-C000-000000000046} failed due to the following error: 80080005

Проблема в тому, що за замовчуванням Microsoft Excel в якості COM-об’єкт може використовувати тільки облікові записи:
Administrator
System
Interactive

Коли ви використовуєте com об’єкт на сайті ASP.Net у системі Windows XP, ваш веб-додаток працює в якості облікового запису ASPNET. А вона доступ не має.

Спосіб вирішення цієї проблеми є зміна настроювання DCOM конфігурації для об’єкта Microsoft Excel.

Настроювання DCOM

Відкриваємо Пуск->Виконати, введим “DCOMCNFG” і нажмаем enter.
Це має відкрити “Component Services” (ви також можете відкрити з Адміністрування – Служби компонентів “

Розгорнути “Служби компонентів”
Розгорнути “Комп’ютери”
Розгорнути “Мій комп’ютер”
Виберіть Настроювання DCOM”
Виберіть “Microsoft Excel Application” елемент.
Клацніть правою кнопкою миші і виберіть пункт Властивості
Виберіть вкладку Безпека і ви повинні побачити наступне:

Під “Launch and Activation Permissions” виберіть “Customize” варіант.
Натисніть кнопку “Змінити”

Windows XP


Windows 2003 Server

Натисніть кнопку “Додати”, щоб додати новий обліковий запис в список.
У діалоговому вікні, яке з’явиться, натисніть кнопку Locations

У цьому діалоговому вікні перейдіть спискок вгору (іноді перший пункт не видно), але виділіть верхню і вибрати перший пункт, який представляє собою ім’я комп’ютера. У наведеному нижче списку “CCROWE” це ім’я мого комп’ютера.

Натисніть кнопку ОК
У діалоговому вікні, яке відображається введіть “ASPNET” як ім’я облікового запису (переконайтеся, що місце розташування встановлено ім’я комп’ютера, на якому IIS включений) на Windows XP або якщо ви працюєте на Windows 2003 Server необхідно ввести обліковий запис, пул застосунків працює як за замовчуванням “Network Service”

Windows XP

Windows 2003 Server

Натисніть кнопку ОК
Тепер переконайтеся, що ви вибираєте наступні параметри ASP.NET Machine Account” або обліковий запис, посвідчення пулу додатків (за замовчуванням мережевої служби) Ці налаштування можна побачити нижче:

Windows XP

Windows 2003 Server

Тисніть ОК