External Hard Drive Eject Problem - one possible solution

After reading many posts from different users, I thought I should post the solution that worked for me.  I keep getting the standard error, “This device is currently in use. Close any programs or windows that might be using the device, and then try again.”

-  I searched and searched for any service accessing my external hard drive, and finally stumbled on what was causing the problem for me.  Do you store your music and other media files on your external hard drive?  I do, and I was also using the Windows Media Player Network Service to stream the media to my PS3.  It turns out that this was the culprit for me.

-  I’m not sure if using the “Network and Sharing Center → Advanced Sharing” option to disable media sharing will actually disable the service.  You may want to experiment with that route if you don’t feel comfortable directly disabling the service.

-  I logged on as administrator, ran the services.msc from the start menu.  In Windows 7, you simply click on the “Menu button”, and type services.msc in the “Search Programs and Files”.  This pulls up a list of all of the services, scroll through until you find the “Windows Media Player Network Sharing Service”, right click, then open the properties.  Change the “Startup type” to disabled, click “Ok”, and reboot.

With this being said, the services and programs that may be accessing your external hard drive really depends on what software you have installed.  This may not be the solution for you, but it worked for me.

Very helpful info, thanks for sharing it.

    Of course there is a downside to disabling the service (not being able to share media).  I personally leave it on, but I couldn’t for the life of me figure out what was preventing the hard drive from ejecting until, by chance, I stumbled on this service accessing the external drive.

    It’s frustrating that the hard drive can’t be ejected even when I’m not sharing media.  I’m not sure why the service locks it down even when it isn’t being used.  It seems like a simple script could be devised to disable the service, allow eject, and restart the service after the eject.  Maybe one of those wiz-kids over at Microsoft will think of that…  I’m a CS major, but that stuff is way over my head.