sodcalculator

10 Tech How-To

Fix IIS HTTP Error 500.19 0x8007007e

Guide 10-7440 · Updated · Step by step

This guide walks you through fixing IIS HTTP Error 500.19 with code 0x8007007e, a common configuration error that prevents a website or application from starting. You’ll learn the exact causes and step-by-step solutions to get your site back online quickly.

What You’ll Need

  • Administrative access to the Windows server or PC running IIS.
  • The IIS Manager console (inetmgr) or access to the applicationHost.config file.
  • Basic familiarity with IIS site and application pool settings.

Step-by-Step

  1. Identify the exact error message. When you browse to the site, the browser shows a 500.19 error page. The detailed error in the IIS log or the error page itself will list the configuration file and line number causing the problem. Note this information; it points directly to the faulty section.
  2. Check the application pool identity and permissions. The most frequent cause of 0x8007007e is that the application pool identity (e.g., ApplicationPoolIdentity, NetworkService, or a custom account) lacks read access to the site’s physical folder. Open IIS Manager, select your site, click Basic Settings in the right pane, and note the Physical path. Then, in Application Pools, select the pool your site uses and click Advanced Settings to see the Identity. Right-click the physical folder in Windows Explorer, go to Properties > Security, and ensure the identity has at least Read & Execute, List Folder Contents, and Read permissions. If not, click Edit > Add, type IIS AppPool\YourAppPoolName (replace with your actual pool name), and grant the necessary permissions.
  3. Verify the application pool is running. In IIS Manager, under Application Pools, ensure the pool for your site is Started. If it’s stopped, right-click and select Start. If it fails to start, the error details will often reveal the underlying issue.
  4. Check for missing or mismatched modules. The 0x8007007e error often appears when a module referenced in the web.config or applicationHost.config is missing or the wrong version. Open the configuration file mentioned in the error (usually web.config in your site root or applicationHost.config). Look for <modules> or <handlers> sections. If you see entries for modules that aren’t installed (e.g., URL Rewrite, FastCGI, or custom modules), either install them or comment out the problematic lines. For example, if you see <add name="RewriteModule" /> and you don’t have URL Rewrite installed, remove that line.
  5. Repair or reinstall IIS features. If the error persists, some IIS components may be corrupted. Open Control Panel > Programs > Turn Windows features on or off. Under Internet Information Services, uncheck the entire IIS role, click OK, restart the server, then re-enable IIS with the same features (or the ones you need). This resets IIS configuration to default, but be aware it will remove custom settings—backup your configuration first.
  6. Check the 32-bit vs. 64-bit setting. If your application pool is set to Enable 32-Bit Applications to True, but the site uses 64-bit native modules, you may get this error. In Advanced Settings of the application pool, set Enable 32-Bit Applications to False (or True if you need 32-bit). Match this with the architecture of your installed modules.
  7. Validate the configuration syntax. Use the command line to run %windir%\system32\inetsrv\appcmd.exe list config to see if there are any configuration errors. If you get a syntax error, it will indicate the file and line. Fix any malformed XML or invalid attributes.
  8. Restart IIS. After making changes, restart IIS by running iisreset from an elevated command prompt, or by restarting the World Wide Web Publishing Service from Services.msc. This ensures all changes take effect.

Common Mistakes

  • Overlooking file permissions on the parent folder. Even if the site folder has correct permissions, the parent directories (like C:\inetpub\wwwroot) might block access. Grant read permission to the application pool identity on the entire path.
  • Editing the wrong configuration file. The error might point to a web.config in a subfolder, not the root. Always check the exact file and line number in the error message.
  • Assuming it’s a code issue. 500.19 is a configuration error, not a code error. Don’t waste time debugging your application code; focus on IIS settings.
  • Forgetting to recycle the application pool after changes. Some changes require a recycle. Right-click the pool and select Recycle after modifying its properties.

Tips

  • Use the Failed Request Tracing (FREB) feature. Enable it for your site to get a detailed trace of the request and pinpoint the exact module causing the failure. This is invaluable for complex configurations.
  • Keep a backup of your configuration. Before making changes, export your applicationHost.config and web.config files. This allows you to roll back if something goes wrong.
  • Test with a simple site. Create a basic HTML file in a new folder and point a new site to it. If that works, the issue is specific to your application’s configuration, not IIS itself.
  • Check the Windows Event Viewer. Look under Windows Logs > System or Application for errors from the W3SVC or IIS-W3SVC-WP sources. These often contain more detailed error information.

Troubleshooting

If the error persists after following the steps above, try these additional measures:

  • Run the IIS Configuration Editor. In IIS Manager, select the server node, then double-click Configuration Editor. Navigate to system.webServer/modules and check for any entries with type attributes that reference missing assemblies. Remove or fix those entries.
  • Check for URL Rewrite or other extensions. If you have the URL Rewrite module installed, ensure it’s the correct version for your OS. Reinstall it from the Microsoft Web Platform Installer.
  • Look for duplicate or conflicting entries. If you have multiple web.config files in parent and child directories, a setting in a parent might conflict with a child. Remove or comment out the conflicting section.
  • Use the command line to reset IIS configuration. Run %windir%\system32\inetsrv\appcmd.exe reset config to reset the configuration to default. This is drastic, so back up first.
  • Check for antivirus or security software interference. Some security tools block IIS from reading configuration files. Temporarily disable them to test, and if it works, add exceptions.
  • If all else fails, uninstall and reinstall IIS completely. This is the last resort. Remove the IIS role, reboot, then re-add it. You’ll need to reconfigure all sites and application pools.

Frequently Asked Questions

What does error 0x8007007e mean?

It’s a Windows error code that translates to “The specified module could not be found.” In IIS, it means a module referenced in the configuration is missing, or the application pool identity can’t load a required DLL.

Can I fix this error without restarting IIS?

Sometimes. If it’s a permission issue, applying the correct permissions and recycling the application pool may suffice. But if you’ve changed configuration files, a full IIS restart (iisreset) ensures all changes are loaded.

Why does this error happen after moving a website to a new server?

Often because the new server lacks the same IIS modules or extensions (like URL Rewrite) that the site’s web.config references. Install the missing components or remove the references.

Is this error related to the .NET Framework version?

Not directly, but if your application pool is set to a .NET CLR version that isn’t installed, you might get a different error. However, 0x8007007e is more about native modules or permissions.

Does this error affect all sites on the server?

Usually only the site whose configuration is broken. Other sites that don’t reference the missing module will continue to work. If all sites fail, the issue is likely in applicationHost.config.

Can I ignore this error if my site is not critical?

No, the site won’t load at all. You must resolve the configuration error to make the site accessible.

Related

General steps for current mainstream versions; menus can differ by device and version. See the disclaimer or report an error.

More in this bed

The whole Tech How-To bed →