Avoiding Problems in Stream Authoring Tools

[This is preliminary documentation and subject to change.]

This topic describes potential pitfalls and inefficient design that can occur when building stream authoring tools and how to avoid them.

How can I play a stream if the files are not in the spool directory?

In normal operation, the Enhancement control resolves all file locations relative to the spool directory. This is a security feature that ensures that enhancements do not access the client's file system. During authoring, however, the files for an interactive show may be spread over many directories or machines.

Your application could copy the enhancement files to the spool directory when it displayed or tested the stream. This is an inelegant solution that results in extra copies of the enhancement files and can result in versioning problems.

A more elegant solution is to change the behavior of the Enhancement control to use fully-specified paths. Instead of resolving paths relative to the spool directory, the Enhancement control accepts only fully-specified paths such as "C:\Program Files\TV Viewer\Temp Enhancement\MyEnhShow.5".

To do this, set the HKLM/Software/Microsoft/TV Services/Enhanced Content/AcceptFullPaths registry key to a nonzero value. Note that this key is not created during installation of the client, so you may have to create it before you set the value.

Once this registry key is set, the Enhancement control does not resolve paths. Your application can use fully-specified paths in the enhancement stream to display the files from their current locations.

Do not forget to change the paths in the enhancement stream back to their spool-relative values before you transmit the stream to clients.

For more information, see Enhancement Registry Entries.