Event ID 2295 — IIS W3SVC Module Configuration
Applies To: Windows Server 2008
Internet Information Services (IIS) 7.0 enables developers to easily configure native and managed code modules that process requests made to the Web server. In order for worker processes to load them, the modules must be configured correctly. Proper module configuration requires that the module have a unique name, and a valid type or path. Managed modules can specify whether they should be invoked only for requests to ASP.NET applications or managed handlers. When specified, this setting can optimize performance.
Event Details
Product: | Internet Information Services |
ID: | 2295 |
Source: | Microsoft-Windows-IIS-W3SVC-WP |
Version: | 7.0 |
Symbolic Name: | W3_EVENT_MODULE_GET_PROC_ADDR_FAILED |
Message: | Failed to find the RegisterModule entrypoint in the module DLL %1. The data is the error. |
Resolve
Correct a module's registration
In the IIS7 environment, a module is a logical entity that can subscribe to server events. The Web server is configured to load the module at server startup. During startup, the server asks the module to register for the events in which it is interested. The module implementation is responsible for registering the module for the events it requires. If the module does not have a valid entrypoint that the server can access to register it, registration will fail.
To resolve this issue, follow these steps:
- Create a backup of the ApplicationHost.config file. To do this, see Section A.
- Remove the module from the list of modules in the globalModules section of ApplicationHost.config. If the module is listed in ApplicationHost.config, the server will try to load it upon startup, and each worker process that tries to use it will be unable to do this. To remove the module from configuration, see Section B.
- Have the developer correct the entry point in the module so that it can register successfully with the server.
- After the module's entry point has been corrected, re-add the module to ApplicationHost.config.
To perform the following procedures, you must have membership in Administrators, or you must have been delegated the appropriate authority.
A. Create a backup of the ApplicationHost.config file
To create a backup of the ApplicationHost.config file:
Open an elevated Command Prompt window. Click Start, point to All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.
Change to the directory %Windir%\system32\inetsrv.
Type appcmd add backup backupName to back up the ApplicationHost.config file.
A directory with the backup name that you specify will be created under the %Windir%\system32\inetsrv\backup directory. If you do not specify a name, appcmd will generate a directory name automatically using the current date and time.
B. Remove the module from configuration
To remove the module from configuration:
- Open an elevated Command Prompt window. Click Start, point to All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.
- Change the directory to %Windir%\system32\inetsrv\config.
- Type notepad ApplicationHost.config.
- In notepad, search for the globalModules section under the system.webServer section.
- Find the module entry that is failing and remove it.
- Save the ApplicationHost.config file, and exit notepad.
For more information about the globalModules section, see IIS 7.0: add Element for globalModules (IIS Settings Schema).
Verify
You can use IIS Manager or Task Manager to verify that a module is functioning.
To perform these procedures, you must have membership in Administrators, or you must have been delegated the appropriate authority.
Verify that a module is running by using IIS Manager
To verify that a module is running by using IIS Manager:
- Click Start, click Control Panel, and then click Administrative Tools.
- Right-click Internet Information Services (IIS) Manager and select Run as administrator.
- In the Connections pane, expand the computer name.
- Expand Sites.
- Select the Web site that is hosting the module that you want to verify.
- In the Actions pane, click the link under Browse Web Site. If the Web page appears, the worker process is running.
Verify that a module is running by using Task Manager
To verify that a module is running by using Task Manager:
- Click Start, Run, type taskmgr, and press ENTER.
- Click the Processes tab. When the Web page that uses the module is loaded, the IIS worker process W3wp.exe will appear in the Image Name column.