2. Run the application as an admin using impersonation, and purposely cause an error to be thrown. Since you have admin permissions, and the web application is impersonating you, then the event source will be created.

This only needs to be done once per web server and then it will work. It takes a higher privilege to create an event source, but the ASP.NET worker process identities can write to them fine.