Legacy Interop error in Custom Reports/Analysis - System.UnauthorizedAccessException

Document ID : KB000021727
Last Modified Date : 14/02/2018
Show Technical Document Details

Issue: 

Error when running a Custom Report, the following stack trace is displayed:

 NetQoS.ReporterAnalyzer.LegacyInterop error '80131500'

 System.UnauthorizedAccessException: Retrieving the COM class factory for component with CLSID {33F5630F-

 2065-4F75-94B5-5552AA6B5929} failed due to the following error: 80070005. at

 System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean&

 canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck) at

 System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache) at

 System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache) at

 System.Activator.CreateInstance(Type type, Boolean nonPublic) at

 NetQoS.ReporterAnalyzer.Business.ReportDefinitions.DynamicInvoke(String progID, String methodName, Object[]

 parameters) at NetQoS.ReporterAnalyzer.Business.ReportDefinitions.StartReport(UInt32 reportID, Boolean

 isCustomReport, Boolean isScheduled) at NetQoS.ReporterAnalyzer.LegacyInterop.LegacyInterop.StartAnalysis(UInt32

 reportId)

 /common/filterClasses.asp, line 1702 

Environment:  

Reporter Analyzer 9.0

Windows 2003/2008

Cause: 

This is a permissions issue within Windows. Local machine account IUSR does not have sufficient privileges to create objects. 

Resolution/Workaround:

Modifying the COM+ permissions to include launch and activation as well as access permissions will resolve this issue. To do this, follow these steps:

  1. Go to Start -> Settings -> Control Panel -> Administrative Tools -> Component Services 
  2. Now, click through Console Root -> Component Services -> Computers -> My Computer. 
  3. Right click My Computer and select Properties. 
  4. If you are using Windows 2003:
    1. Click on COM security and click on Edit Default for Access permissions.
    2. Add the IUSR_machinename account to this group with all permissions.
    3. Replace machinename with the actual machine name.
    4. Click OK.
    5. Repeat this step for Launch and Activate Permissions.
  5. Add the IUSR_ account to the Administrators group, with full control
  6. Restart IIS admin service.