DCOM Issue with Excel

  • Thread starter Thread starter Michael Burgess
  • Start date Start date
M

Michael Burgess

Hi there,

When I try to get an instance of my Excel application in code I get an
UnauthorizedAccessException thrown with 'Access Is Denied'.

I've heard that DCOM needs permissioning to allow access, but I'm not
sure how. I've tried adding ASPNET into the security as a user with
the rights to do so, but no joy. The ASP.NET app in question has
anonymous access disabled - does that make any difference?

Any ideas? Not found anything that's worked for me yet on the net.

Cheers,
Michael.
 
How are you trying to get your Excel instance. What makes you think you are
using DCOM?
 
How are you trying to get your Excel instance. What makes you think you are
using DCOM?










- Show quoted text -

This is the call that throws the exception..............

excelApp = new Microsoft.Office.Interop.Excel.Application();

Any ideas?

I'm not desperate to find out as it turns out the production problem
was a data error, but I'm sure I'll have to make changes soon and I'll
need my dev PC to work properly with the site.

Thanks,
Michael.
 
Michael Burgess said:
This is the call that throws the exception..............

excelApp = new Microsoft.Office.Interop.Excel.Application();

Any ideas?

I'm not desperate to find out as it turns out the production problem
was a data error, but I'm sure I'll have to make changes soon and I'll
need my dev PC to work properly with the site.

Thanks,
Michael.

I have a couple of thoughts on this. First, this is not DCOM at all. DCOM
has to do with utilizing an object across the LAN using MS proprietary
technology. This is InterOperability between a .NET assembly and a COM
component.

Microsoft recommends using the PIA's (Primary InterOp Assemblies when
connecting to Office libraries as these assemblies have been built
specifically for this purpose.

Here is a nice article describing the Office PIA's and it contains links to
their usage - perhaps it will help.

http://msdn2.microsoft.com/en-us/library/kh3965hw(VS.80).aspx

Good luck.

-Scott
 
I have a couple of thoughts on this. First, this is not DCOM at all. DCOM
has to do with utilizing an object across the LAN using MS proprietary
technology. This is InterOperability between a .NET assembly and a COM
component.

Microsoft recommends using the PIA's (Primary InterOp Assemblies when
connecting to Office libraries as these assemblies have been built
specifically for this purpose.

Here is a nice article describing the Office PIA's and it contains links to
their usage - perhaps it will help.

http://msdn2.microsoft.com/en-us/library/kh3965hw(VS.80).aspx

Good luck.

-Scott- Hide quoted text -

- Show quoted text -

Thanks Scott, I'll take a look - have to admit I know nada about DCOM,
hence my naivety!
 
A couple things can cause this chiefly that the Excel object isn't correctly
registered. It will usually throw a null reference object, but I have seen
it throw exceptions related to permissions access. Secondly, your ASP.NET
application runs least privilege meaning that your worker process trying
automate Excel may not have sufficient permission. You can determine which
of the two is the issue by turning CAS off at a command prompt (cas -s off)
and running the application. If it works, bump your worker process
permissions up a notch. If it still fails, go register the Excel object.

I don't suspect this is a PIA issue but it may be solved by installing the
PIAs again, which would point to registration issue.
 
Back
Top