No sound in Remote Desktop (Terminal Services) sessions to Windows 2003

I've hit this problem yesterday, and since it took me an hour to solve it I thought I should post the solution here...

Basically, I was connecting from work using Terminal Services / Remote Desktop to my home machine, a Windows 2003 Server, and I was trying to listen music.
Unfortunately, Windows Media Player was giving me the following error:
"Windows Media Player cannot play the file because there is a problem with your sound device. There might not be a sound device installed on your computer, it might be in use by another program, or it might not be functioning properly."

I knew a couple months ago I was listening to my music on the home machine, so why isn't it working now?

In the help page I found the error code C00D11BA: "Cannot play the file" but the description there was not very helpful. I checked all the drivers, all appeared to be installed correctlyand working. Since I recently switched my network from a workgroup to a domain configuration, I thought there might be a domain policy preventing audio playing in TS sessions. But I found no such setting. I then thought client's configuration might be the culprit (I only had Vista clients), especially because connecting to other servers at work and trying to play sound files produced the same error. But no, that wasn't it.
I spent an hour searching the Internet, browsing articles that talked about enabling/disabling sound in client RDP settings, reinstalling DirectX on server, etc., etc.

Eventually I came up upon the right solution ...

Windows 2003 Server allows disabling certain resources in Remote Desktop sessions, and guess what? The sound is by default disabled for Windows Terminal Services sessions...

So, here is how to re-enable audio in TS sessions on Win2003:
- Launch "Control Panel" (Start Menu / Settings / Control Panel)
- In "Administrative Tools", launch "Terminal Services Configuration"
- In the mmc applet, select the Connections node, select the RDP-Tcp session settings in the right pane, right click it and open the Properties page.
- Click the "Client Settings" tab
- In the bottom of this dialog where the "Disable the following:" section is, uncheck the "Audio mapping" which is checked by default.
- Ok the Properties dialog.

If you are connected already to a TS session, you'll have to LogOut first (no, Disconnect won't be enough!), then LogIn again to the server, and voila! Now your audio files should play fine.

It's obvious now that you know about this hidden setting, isn't it? ;-)
Oldest