Peter Peter - 3 months ago 36
ASP.NET (C#) Question

Asp.net site wont run after windows update, Compilation error "Temporary ASP.NET Files"

We ran windows update on one of our production machines.
After this all of our asp.net applications stopped working and gave us the following error

System.Web.HttpCompileException (0x80004005): C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\4a73fd31\133ab85b\App_Web_list.aspx.73bf660c.oobh7mac.0.vb : (0): error BC31007: Unable to open module file 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\4a73fd31\133ab85b\App_Web_list.aspx.73bf660c.oobh7mac.0.vb': System Error &Hc0000005& (Visual Basic internal compiler error)
at System.Web.Compilation.AssemblyBuilder.Compile()
at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)
at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)


After searching for a few minutes i found a solution changing the user the apppool runs under from ApplicationPoolIdentity to LocalSystem.

This solved the problem but i do not feel conformable with our application running as LocalSystem.

I have tried to compare security on the "Temporary ASP.NET Files" and "Temporary ASP.NET Files\root" with a healthy machine without being able to find any differences.

Does any one know what to do to solve this problem?

Edit:
This problem happens when we try to visit the page not when we try to compile it!

Answer

I found a solution, i gave the IIS_USERS full access to C:\Windows\Temp.

Comments