We are excited to announce that the IIS.NET Forums are moving to the new Microsoft Q&A experience. Learn more >

Access is denied for vbc.exe [Answered]RSS

1 reply

Last post Apr 16, 2015 04:36 AM by Pengzhen Song - MSFT

  • Access is denied for vbc.exe

    Apr 15, 2015 03:12 PM|peh|LINK

    Beginning this morning, we've started getting an error whenever attempting to visit a .aspx page:


    [Win32Exception (0x80004005): Access is denied]

    [ExternalException (0x80004005): Cannot execute a program. The command being executed was "C:\Windows\Microsoft.NET\Framework\v4.0.30319\vbc.exe" /noconfig @"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\3b52df70\5fa20ad7\5wuhrgid.cmdline".]
       System.CodeDom.Compiler.Executor.ExecWaitWithCaptureUnimpersonated(SafeUserTokenHandle userToken, String cmd, String currentDir, TempFileCollection tempFiles, String& outputName, String& errorName, String trueCmdLine) +6493647
       System.CodeDom.Compiler.Executor.ExecWaitWithCapture(SafeUserTokenHandle userToken, String cmd, String currentDir, TempFileCollection tempFiles, String& outputName, String& errorName, String trueCmdLine) +115
       System.CodeDom.Compiler.CodeCompiler.Compile(CompilerParameters options, String compilerDirectory, String compilerExe, String arguments, String& outputFile, Int32& nativeReturnValue, String trueArgs) +263
       Microsoft.VisualBasic.VBCodeGenerator.FromFileBatch(CompilerParameters options, String[] fileNames) +562
       System.CodeDom.Compiler.CodeCompiler.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromFileBatch(CompilerParameters options, String[] fileNames) +162
       System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromFile(CompilerParameters options, String[] fileNames) +23
       System.Web.Compilation.AssemblyBuilder.Compile() +884
       System.Web.Compilation.BuildProvidersCompiler.PerformBuild() +9519704
       System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) +9972613
       System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) +299
       System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) +103
       System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound) +165
       System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp) +43
       System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +31
       System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +64
       System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig) +191
       System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +145
       System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

    The server automatically installed an update to the .Net framework (KB3037581), so I'm assuming that had something to do with it, but uninstalling that update didn't fix the issue.

    I verified that the IIS_IUSERS group (we are using the ApplicationPoolIdentity) has execute permissions to the v4.0.30319 and read / write to Temporary ASP.Net Files. However, it does work if I change the App Pool to run as a local administrator. It's not clear to me what permission is missing, though.

    Any thoughts on this?

  • Re: Access is denied for vbc.exe

    Apr 16, 2015 04:36 AM|Pengzhen Song - MSFT|LINK

    Hi,

    According to your description, it is permission issue. You can try checking if the application Pool identity acount is in the IIS_IUSRS group. And I suggest that you can use process monitor to troubleshoot more detailed messages.

    http://blogs.msdn.com/b/webtopics/archive/2009/06/25/troubleshooting-http-401-3-errors-with-process-monitor.aspx

    We are trying to better understand customer views on social support experience. Click HERE to participate the survey.
    Thanks!