Monday, October 3, 2011

Microsoft Excel Application entry missing in DCOMCNFG

We can start DCOMCNFG in 32-bit mode using:


Open Run Command and type DCOMCNFG -32


OR


On 64 bit system with 32 bit Office try this:
  1. Start
  2. Run
  3. mmc -32
  4. File
  5. Add Remove Snap-in
  6. Component Services
  7. Add
  8. OK
  9. Console Root
  10. Component Services
  11. Computers
  12. My Computer
  13. DCOM Config
  14. Microsoft Excel Application

Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046}


Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005.

Ex Application


The problem is that by default Microsoft Excel as a COM object can only activated by the following accounts:
  • Administrator
  • System
  • Interactive
When you are running your ASP.Net account on Windows XP your web application is running as the ASPNET account.
The way to resolve this issue is to edit the DCOM configuration settings for the Microsoft Excel Application object.

Configure DCOM

  • Go to the Start-Run menu item.
  • Type in "DCOMCNFG" and hit enter.
  • This should load the "Component Services" MMC (you can also load from Administrative Tools - Component Services"
  • Expand "Component Services"
  • Expand "Computers"
  • Expand "My Computer"
  • Select the "DCOM Config" item
  • Select the "Microsoft Excel Application" item.
  • Right click and select Properties
  • Select the Security Tab and you should see the following:



     
  • Under "Launch and Activation Permissions" select the "Customize" option.
  • Click the "Edit" button

    Windows XP
             
    Windows 2003 Server


     
  • Click the "Add" button to add a new account to the list.
  • On the dialog that is displayed click the Locations button

    (this is because by default your domain will be selected and we need a local account)

    In this dialog scroll the list to the top (sometimes the first item is not visible) but scroll to the top and select the first item which is your computer name. In the list below "CCROWE" is the name of my computer.



     
  • Click the OK button
  • On the dialog that is displayed enter "ASPNET" as the account name (make sure location is set to the name of the computer that IIS is on) on Windows XP or if you are running on Windows 2003 Server you must enter the account that the Application Pool is running as, by default "Network Service"

    Windows XP
                  
    Windows 2003 Server

    Note: A quicker way on Windows XP is to just enter the computer name and the account
    so in my case that would be:

              ccrowe\ASPNET 

  • Click the OK button 
  • Now make sure you select the following options for the "ASP.NET Machine Account" or the account that is the application pool identity ( by default Network Service)
     
    • Local Launch         : Allow
    • Remote Launch        : [blank]
    • Local Activation     : Allow
    • Remote Activation    : [blank]
    These settings can be seen below:

  • Windows XP
             
    Windows 2003 Server
  • Click the OK button and test your web application again and it should work fine.
Note: Remember if you are running on Windows 2003 Server you must use the application pool identity as the account and not the ASPNET account.



Error Message:
Microsoft Excel cannot access the file 'E:\DATA\CLIENTS\UL.xls'. 
There are several possible reasons:


• The file name or path does not exist.
• The file is being used by another program.
• The workbook you are trying to save has the same name as a currently open workbook.


Solution:
For Windows 2008 Server x64

  Please make this folders. and granting NETWORK SERVICE permissions

  C:\Windows\SysWOW64\config\systemprofile\Desktop
Folder
Permission
C:\Windows\SysWOW64\config\systemprofile\Desktop
Read & Execute, List folder contents, Read
C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming\Microsoft
Modify, Read & Execute, List Folder Content, Read, Write
C:\Windows\SysWOW64\config\systemprofile\AppData\Local\Microsoft
Modify, Read & Execute, List Folder Content, Read, Write

For Windows 2008 Server x32


  C:\Windows\System32\config\systemprofile\Desktop


Folder
Permission
C:\Windows\System32\config\systemprofile\Desktop
Read & Execute, List folder contents, Read
C:\Windows\System32\config\systemprofile\AppData\Roaming\Microsoft
Modify, Read & Execute, List Folder Content, Read, Write
C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft
Modify, Read & Execute, List Folder Content, Read, Write