2012-04-13 3 views
2

от последнего так много раз. Я получаю следующую ошибку. Поскольку я использую DLL-файлы Microsoft Word для создания файлов слов, которые далее прикрепляются к почте.Извлечение фабрики COM-класса для компонента с CLSID Ошибка: 8000401a

Server Error in '/' Application. 
Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 8000401a. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Runtime.InteropServices.COMException: Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 8000401a. 

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

Stack Trace: 

[COMException (0x8000401a): Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 8000401a.] 
    iPortal.user.sendRAMail.GetData(Object fileName) in XXX:512 
    iPortal.user.sendRAMail.btnSend_Click(Object sender, EventArgs e) in XXX:1300 
    System.Web.UI.WebControls.Button.OnClick(EventArgs e) +107 
    System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110 
    System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10 
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 
    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3436 


Version Information: Microsoft .NET Framework Version:2.0.50727.4216; ASP.NET Version:2.0.50727.4223 

может кто-нибудь пожалуйста, предложить мне какие-либо solution.As я также получил некоторые решения, которые говорят мне, чтобы изменить права доступа для библиотек DLL Word, используя DCOMCNFG, но по-прежнему получать тот же error.but на какое-то время он работает правильно ... поэтому я думаю, что код не является проблемой. А также how I will find which account is using my current application. (ex.Network Service, администратор и т.д.)

+0

0x8000401a = CO_E_RUNAS_LOGON_FAILURE, хотя кажется, что вы уже знаете это? Есть ли что-то очевидное в журнале событий безопасности? – Rup

+0

Привет @Rup спасибо за ответ, я проверил журнал безопасности, но об ошибке не упоминалось. Но журнал приложений имеет такое же предупреждение. Что показывает «Получение фабрики COM-класса для компонента с ошибкой CLSID» –

ответ

6

Я нашел решение,

с помощью dcomcnfg.exe открыть его и перейти к компонентному услуг -> Компьютеры-> Мой компьютер-> DCOM config-> проверьте опцию Microsoft Office Word и выберите вкладку Security.Here вы получите параметры для разрешения запуска и активации -> выберите «Настроить» и нажмите «Изменить» и добавьте пользователя, который будет запускать ваше приложение с полным доступом.

Вот и все, это решит проблему, это поможет.

+0

Спасибо, работал на меня. Для тех, кто использует OpenOffice, установите вместо опции OpenOffice параметр DCOM Config. – Jason

1

Моя идея была бы избавиться от Com все вместе, если я могу найти лучшее решение, которое я хотел бы использовать его

проверить это

http://docx.codeplex.com/

+0

Я не согласен с настроение вообще, но изнутри ASP.NET вам обязательно следует избегать автоматизации Word, да. – Rup

0

Одна вещь, которую я сделал на моем сервере, - это открыть Microsoft Word на машине, и это, похоже, заставило ошибку уйти.

Смежные вопросы