IIS7 – post #31 – Adrotator on IIS7 / Vista / BC32400: Class ‘CLSID_CorSymWriter’ could not be created: Access is denied.

I was working with the Adrotator component included in .NET 2.0 on Vista and IIS7.  I was getting this error; BC32400: Class 'CLSID_CorSymWriter' could not be created: Access is denied.    It worked on my other vista machine, so I knew it was specific to my machine.  I ran Process Monitor (aka Filemon) and found two registry keys that were getting denied.  After adding Network Service with READ permissions, this started working.    PS: It was fun to actually use Filemon to track down a problem of my own, I mention this tool in many newsgroup posting. 

Here is a picture of the output.

Here is the raw output of the error

Server Error in '/' Application.

Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: BC32400: Class 'CLSID_CorSymWriter' could not be created: Access is denied.

Source Error:


[No relevant source lines]

Source File: vbc :    Line: 0


Show Detailed Compiler Output:

c:\windows\system32\inetsrv> "C:\Windows\Microsoft.NET\Framework\v2.0.50727\vbc.exe" /t:library /utf8output /R:"C:\Windows\assembly\GAC_32\System.Web\\System.Web.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.ServiceModel\\System.ServiceModel.dll" /R:"C:\Windows\assembly\GAC_32\System.Data\\System.Data.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Web.Mobile\\System.Web.Mobile.dll" /R:"C:\Windows\assembly\GAC_32\System.EnterpriseServices\\System.EnterpriseServices.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Xml\\System.Xml.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Runtime.Serialization\\System.Runtime.Serialization.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Configuration\\System.Configuration.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.IdentityModel\\System.IdentityModel.dll" /R:"C:\Windows\assembly\GAC_MSIL\System\\System.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Web.Services\\System.Web.Services.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Drawing\\System.Drawing.dll" /out:"C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\26676eb7\92c7e946\App_Web_ads.aspx.cdcab7d2.p_oyg97i.dll" /D:DEBUG=1 /debug+ /define:_MYTYPE=\"Web\" /imports:Microsoft.VisualBasic,System,System.Collections,System.Collections.Specialized,System.Configuration,System.Text,System.Text.RegularExpressions,System.Web,System.Web.Caching,System.Web.SessionState,System.Web.Security,System.Web.Profile,System.Web.UI,System.Web.UI.WebControls,System.Web.UI.WebControls.WebParts,System.Web.UI.HtmlControls  "C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\26676eb7\92c7e946\App_Web_ads.aspx.cdcab7d2.p_oyg97i.0.vb" "C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\26676eb7\92c7e946\App_Web_ads.aspx.cdcab7d2.p_oyg97i.1.vb"

Microsoft (R) Visual Basic Compiler version 8.0.50727.312
for Microsoft (R) .NET Framework version 2.0.50727.312
Copyright (c) Microsoft Corporation.  All rights reserved.

vbc : error BC32400: Class 'CLSID_CorSymWriter' could not be created: Access is denied.
vbc : error BC31019: Unable to write to output file 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\26676eb7\92c7e946\App_Web_ads.aspx.cdcab7d2.p_oyg97i.pdb': Access is denied.



Version Information: Microsoft .NET Framework Version:2.0.50727.312; ASP.NET Version:2.0.50727.312


Steve Schofield
Microsoft MVP – IIS

Intellisense / get-member in Powershell

One of the neat tricks is write out what Methods, Properties get-member cmdlet.  Here are a couple of replies I recently from my question in the Powershell newsgroup.  

Example 1
It works well for static methods (note the parenthesis and square brackets
around the class name):

PS> get-member -in ([system.math]) -static

Example 2
You don't need to assign to a variable. You can pipe the new object into the get-member call:

new-object text.stringBuilder | get-member -memberType methods

If you don't want to create an instance at all, you can use reflection:

[text.stringBuilder].getMethods() | % { $_.name } | sort -unique

IIS7 – post #30 – Vista developer story articles by Microsoft.

These are MUST read articles if you are involved with IIS7 development or administration.

The Windows Vista Developer Story: Internet Information Services

The Windows Vista Developer Story: Run-Time Status and Control (RSCA) API

The Windows Vista Developer Story: IIS Manager

The Windows Vista Developer Story: IIS Modules

Steve Schofield
Microsoft MVP – IIS