Esm.dll is in use by one or more processes

[This topic is intended to address a specific issue called out by the Exchange Server Analyzer Tool. You should apply it only to systems that have had the Exchange Server Analyzer Tool run against them and are experiencing that specific issue. The Exchange Server Analyzer Tool, available as a free download, remotely collects configuration data from each server in the topology and automatically analyzes the data. The resulting report details important configuration issues, potential problems, and nondefault product settings. By following these recommendations, you can achieve better performance, scalability, reliability, and uptime. For more information about the tool or to download the latest versions, see "Microsoft Exchange Analyzers" at]  

Topic Last Modified: 2007-03-28

Microsoft Exchange Server 2007 setup cannot continue because its attempt to upgrade the server encountered a module access issue.

Exchange 2007 setup requires that certain modules not be running so that the upgrade can modify the binary files. The Esm.dll file is one such module.

To resolve this issue, unload the processes that have Esm.dll open, and then rerun Exchange 2007 setup.

To stop the process that has Esm.dll open

  1. Start the Exchange Management Shell

  2. Use the Get-Process cmdlet to find the process ID for the processes that the Exchange Analyzer has identified.

  3. Get-Process <process name>

  4. Use the Stop-Process cmdlet to stop the process.

  5. Stop-Process <process ID>

  6. Where <process ID> is the process ID value returned from the Get-Process cmdlet in step 2 here.

For more information about the Get-Process cmdlet, see Using the Get-Process Cmdlet in the "What Can I Do With Windows PowerShell?" topic.