mclaassen
mclaassen

Reputation: 5128

Illegal operation attempted on a registry key that has been marked for deletion - only in IE

I have a web application that throws the following error when running in IE:

Illegal operation attempted on a registry key that has been marked for deletion

It works fine in Chrome. Unfortunately this is a production deployment and I do not have access to see any more detailed information on the error.

I have read some information related to this error message here

http://social.msdn.microsoft.com/Forums/en-US/90e22b43-e24f-44be-9345-ecbade0b32c9/urgent-comexception-illegal-operation-attempted-on-a-registry-key-that-has-been-marked-for?forum=commserver2007

and here

http://blogs.msdn.com/b/distributedservices/archive/2009/11/06/a-com-server-application-may-stop-working-on-windows-server-2008.aspx

Here is the Windows Event log which is consistent with what is described in those 2 links:

enter image description here

But it boggles me as to why this would only be occurring when using IE. Any ideas?

Upvotes: 25

Views: 65590

Answers (4)

kevinpo
kevinpo

Reputation: 1963

I got this error working with Microsoft.Web.Administration.ServerManager. It turned out to be because I was calling appPool.Start() after calling serverManager.CommitChanges()

Upvotes: 1

HerbalMart
HerbalMart

Reputation: 1729

FROM MSDN

https://blogs.msdn.microsoft.com/dsnotes/2016/03/01/com-intermittent-error-800703fa-illegal-operation-attempted-on-a-registry-key/

Cause:

The event warning explains that when the profile was being unloaded, the w3wp.exe process had a registry key handle to the profile hive for the user.

As per the kb947238 article, event 1530 occurs because Windows automatically closes any registry handle to a user profile that is left open by an application. This causes the error 800703fa.

Resolution:

Go to IIS Manager, select the Application Pool for your web application and click Advanced settings, change the value for "ProcessModel" > "Load User Profile" to "true"

screenshot of IIS settings, Application Pool, Advanced Settings, Process Model heading, Load User Profile setting, value is False, value should be True

Setting this values makes the IIS loads the user profile for the application pool identity.

WORKAROUND (NOT FROM MSDN) Either recycle the application pool or do an iisreset.

Upvotes: 19

James Lawruk
James Lawruk

Reputation: 31355

The error seems to be caused by either a bug or memory leak related to COM+. Restarting the Application Pool or restarting IIS should fix the issue. Be warned that it might crop up again out of the blue, so consider restarting your app pool on a scheduled basis.

It is unlikely that the error is browser related. It is possible the app was working in Chrome due to caching. Or perhaps production has multiple servers, and Chrome was hitting a good server, and IE was hitting the bad sever.

Upvotes: 23

MacD
MacD

Reputation: 426

Had the same error come up from my own javascript in IE and it was on a line where I called

window.localStorage

The machine that triggerred this had McAfee installed but I'm not sure if it was active or not.

Upvotes: 1

Related Questions