I got the following question yesterday:
Hi, I created a web application in which I am generating a ms-word document using Microsoft.Office.Interop.Word dll. The application is running fine in the visual studio but when I tried to run on IIS 5.0 through virtual directory then its giving the following error – Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005. In my application I have taken reference of Microsoft Word 12.0 Object Library, but its coming as Microsoft.Office.Interop.Word dll, this interop dll is just a wrapper of the actual word COM dll. But I have to register the actual word COM dll. so my problem is to find – 1) The path of the original word dll(COM) 2) How to register this dll, either using regsvr32 or to register on IIS. OR there will be any other solution. I have gone through many forums but did’nt get any solution. If you have any idea/suggestion on COM Word components please revert me back.
First, you really shouldn’t be using COM from ASP.NET. That’s not to say that you can’t, but there are so many issues when you do this that you are really better off avoiding it if at all possible. Find a third party dll that is written in .NET.
Second, I’d be willing to bet that when you developed this application, you developed it as a file based project instead of developing it under IIS.
You always want to develop your web applications under IIS so that you run into these types of problems while you are developing instead of after the fact. If your operating system doesn’t have IIS available, upgrade to one that does!
The error message, is telling you that you don’t have permissions to run the COM object. This was easily found using Google to search for the error code along with some possible solutions.
The problem is that ASP.NET is not running as a user that has access to the COM object. In fact, ASP.NET can’t run any code outside of the virtual directory you created the application in by design. You COULD grant the ASPNET_WP user access to the COM objects, but I would recommend against that for security reasons.
Read more: .NET ANSWERS
Hi, I created a web application in which I am generating a ms-word document using Microsoft.Office.Interop.Word dll. The application is running fine in the visual studio but when I tried to run on IIS 5.0 through virtual directory then its giving the following error – Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005. In my application I have taken reference of Microsoft Word 12.0 Object Library, but its coming as Microsoft.Office.Interop.Word dll, this interop dll is just a wrapper of the actual word COM dll. But I have to register the actual word COM dll. so my problem is to find – 1) The path of the original word dll(COM) 2) How to register this dll, either using regsvr32 or to register on IIS. OR there will be any other solution. I have gone through many forums but did’nt get any solution. If you have any idea/suggestion on COM Word components please revert me back.
First, you really shouldn’t be using COM from ASP.NET. That’s not to say that you can’t, but there are so many issues when you do this that you are really better off avoiding it if at all possible. Find a third party dll that is written in .NET.
Second, I’d be willing to bet that when you developed this application, you developed it as a file based project instead of developing it under IIS.
You always want to develop your web applications under IIS so that you run into these types of problems while you are developing instead of after the fact. If your operating system doesn’t have IIS available, upgrade to one that does!
The error message, is telling you that you don’t have permissions to run the COM object. This was easily found using Google to search for the error code along with some possible solutions.
The problem is that ASP.NET is not running as a user that has access to the COM object. In fact, ASP.NET can’t run any code outside of the virtual directory you created the application in by design. You COULD grant the ASPNET_WP user access to the COM objects, but I would recommend against that for security reasons.
Read more: .NET ANSWERS