WMC Recording Storage Pooler creates a drive pool out of multiple storage drives to use for Recorded TV in Windows Media Center. WMC Recording Storage Pooler can create a drive pool out of local or network drives.

What is does

Based on a time interval you decide, the software checks a list of drives you provide and sets the drive with the most available free space to be the Recording Storage location. Any new recordings will be saved to the new drive location, while any current recordings will finish at the old location. When another drive has more available free space, it will become the new Recording Storage drive.

WMC Recording Storage Pooler will create a storage pool from any number of drives, and can change the Recording Storage location at any frequency of 1 or more minutes.

Disclaimer

This is a project I created to serve my own purposes and have decided to share here. The software carries no warranty whatsoever, but if you find an issue I will work to resolve it. Neither the software nor myself are associated or affiliated with Microsoft in any way.

WMC Recording Storage Pooler installs and runs as a Windows service. The installer and service must be run as an administrator, allowing access to the file system, registry, and scheduled tasks.

System requirements

  • Windows Media Center on Windows 7 x86 or x64 (see Note below).
  • Microsoft .Net Framework 3.5 SP1 ( download ).
Note
WMC Recording Storage Pooler was designed for Windows Media Center in Windows 7 x86 and x64 (both 32-bit and 64-bit versions). The software has not been tested with any other version of WMC, but the functionality in Windows XP MCE, Windows Vista, and Windows 8 is roughly the same, so the software should reasonably work.

Installer Options

The installer prompts you for two options, the Pooler Frequency and the Recording Storage Locations. See the Configuration section for information on each of these options. For the Recording Storage Locations, provide the path to a folder on each drive you want to include in the storage pool, separating each path with a semi-colon ( ; ).

For example, to include the C: and D: drives in your drive pool, type the following in the Recording Storage Locations box: C:\Users\Public\Recorded TV\;D:\Recorded TV\

WMC Recording Storage Pooler will be configured and running at the end of installation.

After installation

Important Run Windows Media Center and add each of your Recording Storage Locations to the Watched Folders list in WMC in order to watch TV that has been recorded to any of those locations.

WMC supports only one Recording Storage location at a time. When running WMC, you can go to Tasks > Settings > TV > Recording Storage and set one drive where you would like to store your Recorded TV.

If the drive selected in WMC is the C: drive, the Recording Storage location is set to:

·         C:\Users\Public\Recorded TV\

If the selected drive is any other drive, the Recording Storage location is set to:

·         X:\Recorded TV\ (where X: is the drive letter)

While Windows Home Server does support drive pooling in the operating system, the functionality does not exist in Windows XP MCE, Windows Vista, or Windows 7, hence the need for WMC Recording Storage Pooler.

Note Windows 8 introduced a feature called Storage Spaces, which allows you to create a single logical drive out of a pool of physical drives, similar to a flexible software RAID. Storage Spaces does not, however, allow you to pool network drives, so WMC Recording Storage Pooler is still effective when you want to store your recordings across any number of local or network locations.

WMC Recording Storage Pooler supports several configuration options that can be found in the WMCRecordingStoragePooler.exe.config file located in the installation folder, by default:

  • “%ProgramFiles%\WMC Recording Storage Pooler” on 32-bit
  • “%ProgramFiles(x86)%\WMC Recording Storage Pooler” on 64-bit

Edit the config file to change the options. There is no need to restart the service for the new settings to take effect. The software will reload the settings from the config file the next time it refreshes the storage pool (based on your selected Pooler Frequency), or you can restart the “Windows Media Center Recording Storage Pooler" service in the Services manager in Windows for the settings to take immediate effect.

PoolerFrequency

  • Sets the frequency (in minutes) that WMC Recording Storage Pooler will check the storage pool to find the drive with the most available free space.

RecordingStorageLocations

  • An array of storage locations to include in the drive pool, e.g.,

    <ArrayOfString xmlns:xsi=//www.w3.org/2001/XMLSchema-instance xmlns:xsd="//www.w3.org/2001/XMLSchema">

    <string>C:\Users\Public\Recorded TV\</string>

    <string>D:\Recorded TV\</string>

    <string>E:\Recorded TV\</string>

    <string>\\NAS\Recorded TV\</string>

    </ArrayOfString>

LogDebug

  • Enables logging debug messages to indicate what decisions WMC Recording Storage Pooler is making. The debug messages are logged in the Windows "Application" Event Log with the source WMCRecordingStoragePooler.

WMC Recording Storage Pooler runs as a Windows service under the LocalSystem account, because it needs to be able to read and write registry values, and run a Windows Scheduled Task. If you provide the proper permissions for these actions to another user account, the software may function, but I haven’t tested it.

To change the Recording Storage path, WMC Recording Storage Pooler changes a registry setting. After changing the Recording Storage path, WMC Recording Storage Pooler starts the “\Microsoft\Windows\Media Center\UpdateRecordPath” scheduled task. This task is part of Windows Media Center itself, not WMC Recording Storage Pooler. The scheduled task also runs under the LocalSystem account, and is used to update the permissions on the new Recording Storage path to allow WMC access rights to read/write from the folder (the WMC recording service normally runs under the NETWORK SERVICE account). A different WMC service periodically checks the Recording Storage location for changes, and when one is found, it runs the same scheduled task. WMC Recoding Storage Pooler runs the task immediately to ensure WMC can immediately begin recording without permissions issues.

In order to work with a network drive (either a network path mapped as a drive, or a UNC path), you will need to change the WMC Recording Storage Pooler service to run under a user account with write permissions to the network share. You will also need to change the user for the WMC Receiver Service to set the proper permissions for WMC to record to the network drive.

  1. Make sure you have an administrator account that exists on both your WMC PC and the network computer with the same user name and password on both computers. For a network with a domain, it will need to be domain account. If this account doesn’t exist, create it.
  2. Change the account that runs the WMC Recording Storage Pooler service (WMCRecordingStoragePooler) to the administrator account.
  3. Change the account that runs the Windows Media Center Receiver Service (ehRecvr) to the administrator account.

2010-08-15 – WMC RSP 1.1.0

  • Added support for network drives.

2010-03-26 – WMC RSP 1.0.0

  • Initial release.