If you are building the managed provider and look at the sample code in the walkthrough there is a Program ID:
[Guid("D5178953-96A0-4ebd-B511-024897DA2C09")]
[ProgId("SamplePlaylistProvider.ProviderSample")]
[ComVisible(true)]
public class PlaylistProvider : IPlaylistProvider
{
IPlaylistInfo IPlaylistProvider.GetPlaylistInfo(IPlaylistRequestInfo requestInfo)
{
String path = requestInfo.Path;
String name = path.Substring(path.LastIndexOf('/') + 1);
name = name.Substring(0, name.LastIndexOf(".")) + ".wmv";
return new PlaylistInfo(Advertisement, name);
Yes, you should build a managed dll and then regasm it. The following walkthrough steps do that (you can skip to the second step if you use shipped playlisthandler.dll)
Building a .net based provider
Building a .net based provider is a two step process1.
Create a Type library (you can skip this step if you have access to released playlisthandler.dll)
- midl /I<Path to Web Playlists Include> playlistprovider.idl /tlb playlistprovider.tlb /win32
- midl /I<Path to Web Playlists Include> playlistprovider.idl /tlb playlistprovider.tlb /x64
where <Path to Web Playlist Include> is the location where unzipped the Interface files too.
Import Types into as assemblely
1. Use the .tlb created in step 1
tlbimp /out:<outputdirectory>\<outputprovidertypelib.tlb> /namespace:<Provider Namespace> <handler reference>
(E.g., tlbimp /out:E:\myprovider\playlistprovder.dll /namespace:Microsoft.Web.Media.Playlist.Provider E:\myprovider\playlistprovider.tlb )
2. Use the released playlisthandler.dll
tlbimp /out:<outputdirectory>\<outputproviderdll.dll> /namespace:<Provider Namespace> <path to playlist handler>\playlisthandler.dll
(E.g., tlbimp /out:E:\myprovider\playlistprovder.dll /namespace:Microsoft.Web.Media.Playlist.Provider E:\myprovider\playlisthandler.dll )
Compile the custom provider with reference to assembly created in step2
Csc.exe /noconfig /nowarn:1701,1702 /errorreport:prompt /warn:4 /define:TRACE
/reference:..\playlistprovder.dll
/reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll
/debug:pdbonly /filealign:512 /optimize+
/out:obj\Release\providersample.dll
/target:library AssemblyInfo.cs PlaylistProvider.cs
The link to walkthrough is http://learn.iis.net/page.aspx/448/web-playlist-for-iis-70---extending-web-playlists