Too Cool for Internet Explorer

UPnP, MP11 for Server 2003

January 1st, 2009 by Lodoc

Par for the course for Microsoft who often makes decisions like “Its not that this software can’t run on Windows Server OS, but you shouldn’t be using it for that so we are going to not let you install it”.

Prime example. Windows Media Player 11, as well as, UPnP Streaming capability. The XP version of Media player runs perfectly on Windows Server 2003 but you can’t install it since the installer recognizes the OS and shuts down.

I wrote this article based on trying to get the PlayOn streaming server working for my PS3 to Stream Netflix and Hulu video. Below is how to get UPnP and Media Player 11 working in Server 2003.

Windows Media Player 11

  • Download Windows Media Player 11 for XP
  • Open a command window (Start/Run/Type CMD/Click Ok)
  • cd into the directory you stored the downloaded Media Player source
  • Type in: wmp11-windowsxp-x86-enu.exe /T:c:\wmtmp /C
  • This will uncompress the source into c:\wmtmp

  • cd c:\tmtmp
  • Right click each of the files below, select properties, select compatibility mode, check the run as box and select Windows XP
    • wmfdist11.exe (do not reboot)
    • umdf.exe (do not reboot)
    • wmdbexport.exe
    • wmp11.exe
  • Run the following files in the order below (double click them)
    • wmfdist11.exe
    • umdf.exe
    • wmdbexport.exe (you may not see anything run, its quick)
  • REBOOT (yes you need to, so do it)
  • After reboot run the wmp11.exe to install media player
  • REBOOT (sigh, yes you must again)
  • Windows Media Player 11 will now run with no issues. Run it once to configure it
  • UPnP and SSDP

    To configure Server 2003 and make these two things run, do the following:

  • Make a file called XtraServices.inf and save it in c:\windows\inf using notepad, with the following text:
  • [version]
    signature="$WINDOWS NT$"
    ClassGUID={00000000-0000-0000-0000-000000000000}
    LayoutFile=layout.inf
    [DestinationDirs]
    UPNP.SysFiles=11
    UPNP.XMLFiles=11,icsxml
    [Optional Components]
    UPNPSvc
    [UPNPSvc]
    OptionDesc=%UPNP_DESC%
    Tip=%UPNP_TIP%
    IconIndex=93
    CopyFiles=UPNP.SysFiles,UPNP.XMLFiles
    Uninstall=UPNP.Remove
    RegisterDlls=UPNP.RegisterDlls
    AddService=upnphost, 0x410,UPNP_upnphost_Svc
    AddService=SSDPSRV, 0x410,UPNP_SSDP_svc, UPNP_Evt
    SizeApproximation=678976
    [UPNP.Remove]
    UnregisterDlls=UPNP.UnRegisterDlls
    DelFiles=UPNP.SysFiles,UPNP.XMLFiles
    DelService=upnphost
    DelService=SSDPSRV
    [UPNP.RegisterDlls]
    11,, upnp.dll, 1
    11,, upnphost.dll, 1
    11,, upnpcont.exe,,,"/regserver"
    [UPNP.UnRegisterDlls]
    24,%lite_path%,%lite_prog%,,,"stop upnphost"
    24,%lite_path%,%lite_prog%,,,"stop SSDPSRV"
    11,, upnp.dll, 1
    11,, upnphost.dll, 1
    11,, upnpcont.exe,,,"/unregserver"
    [UPNP.SysFiles]
    ssdpsrv.dll,,,1
    ssdpapi.dll,,,1
    upnp.dll,,,1
    upnphost.dll,,,1
    upnpcont.exe,,,1
    udhisapi.dll,,,1
    upnpui.dll,,,1
    [UPNP.XMLFiles]
    cmnicfg.xml
    ipcfg.xml
    osinfo.xml
    potscfg.xml
    pppcfg.xml
    [UPNP.SysFiles.Security]
    "D:P(A;;GRGX;;;BU)(A;;GA;;;BA)(A;;GA;;;SY)(A;;GRGX;;;WD)"
    [UPNP_upnphost_Svc]
    Description=%UPNPHOST_Desc%
    DisplayName=%UPNPHOST_Display%
    ServiceType=0x20
    StartType=3
    ErrorControl=1
    StartName="NT AUTHORITY"\LocalService
    ServiceBinary=%11%\svchost.exe -k LocalService
    AddReg=upnphost.AddReg.Secure, upnphost.AddReg
    Dependencies=SSDPSRV
    Security="D:(A;;GA;;;SY)(A;;GA;;;BA)(A;;GA;;;AU)(A;;GA;;;PU)(A;;CCDCLCSWLOCRRC;;;LS)"
    [upnphost.AddReg]
    HKR, Parameters, ServiceDll, 0x20000, "%%SystemRoot%%\System32\upnphost.dll"
    HKLM, "Software\Microsoft\UPnP Device Host\HTTP Server", "MaxConnections", 0x00010001, 0x00000050
    HKLM, "Software\Microsoft\UPnP Device Host\HTTP Server\VROOTS",,0x0010
    [upnphost.AddReg.Secure]
    HKLM, "Software\Microsoft\UPnP Device Host",,0x10
    [upnphost.AddReg.Secure.Security]
    "D:PAR(A;CI;KA;;;BA)(A;CIIO;KA;;;CO)(A;CI;KA;;;LS)(A;CI;KA;;;SY)(A;CI;KR;;;BU)"
    [UPNP_SSDP_svc]
    Description=%UPNP_Desc%
    DisplayName=%UPNP_Display%
    ServiceType=0x20
    StartType=3
    StartName="NT AUTHORITY"\LocalService
    ErrorControl=1
    ServiceBinary=%11%\svchost.exe -k LocalService
    Security="D:(A;;GA;;;SY)(A;;GA;;;BA)(A;;GA;;;AU)(A;;GA;;;PU)(A;;RPWPDTRC;;;LS)"
    AddReg=UPNP.AddReg
    [UPNP.AddReg]
    HKR, Parameters, ServiceDll, 0x20000, "%%SystemRoot%%\System32\ssdpsrv.dll"
    [SourceDisksNames]
    1=,,,i386
    [SourceDisksFiles]
    sp1.cab=1,,
    sp2.cab=1,,
    [StringHunt]
    shl_img.inf
    msagent.inf
    pchealth.inf
    wordpad.inf
    msinfo32.inf
    syssetup.inf
    netupnph.inf
    [Strings]
    KEY_RUN="Software\Microsoft\Windows\CurrentVersion\Run"
    KEY_RUNONCE="Software\Microsoft\Windows\CurrentVersion\RunOnce"
    KEY_APPPATHS="Software\Microsoft\Windows\CurrentVersion\App Paths"
    KEY_UNINSTALL="Software\Microsoft\Windows\CurrentVersion\Uninstall"
    KEY_SAFEBOOT="System\CurrentControlSet\Control\SafeBoot"
    KEY_PFPROFILE="Software\Policies\Microsoft\Windows\System\PCHealth"
    KEY_SVCHOST="Software\Microsoft\Windows NT\CurrentVersion\Svchost"
    KEY_LAME="SOFTWARE\Microsoft\PCHealth\Clients\Dialog Comments"
    KEY_COMMENT_LINK="Control Panel\Desktop"
    ______LitePC_Local_Strings______=""
    UPNP_DESC="Universal Plug and Play"
    UPNP_TIP="Support to host Universal Plug and Play devices and to discover UPnP devices on your network."
    UPNPHOST_Display="Universal Plug and Play Device Host"
    UPNPHOST_Desc="Provides support to host Universal Plug and Play devices."
    UPNP_Display="SSDP Discovery Service"
    UPNP_Desc="Enables discovery of UPnP devices on your home network."
    LCID="0409"
    UILanguageID=1033
    MsSHARED="Microsoft Shared"
    OLDDB="Ole DB"
    ADO="ado"
    MSADC="msadc"
    DAO="DAO"
    MSSOAPBIN="MSSoap\Binaries"
    MSSOAPBINRES="MSSoap\Binaries\Resources\1033"
    MSInfo32_DESC="System Information"
    MSInfo32_INFOTIP="Displays current system information."
    SystemTools_GROUP="Accessories\System Tools"
    MSINFOPATHL="Microsoft Shared\MSInfo"
    
  • make a file called c:\main.inf using notepad, with the following text:
  • [Version]
    Signature="$Windows NT$"
    [Global]
    WindowTitle="Onemancan"
    WindowTitle_Standalone="Onemancan"
    [Components]
    UPSSvc=ocgen.dll,OcEntry,"XtraServices.inf",,7
    
  • Now, you’ll need the driver files that this will install. If you have an XP SP2 install CD, you are good to go. Just mount the ISO or put the CD in and continue on skipping this section. Otherwise, you can copy them from your current XP SP2 install. The files you need are listed below; in general just search in your windows folder for upnp, ssd, udhisapi, and copy all those files to a USB drive, and then search for cmnicfg, and copy all the files in that directory to the drive as well.
  • dpnhupnp.dll
    upnp.dll
    upnpcont.exe
    upnphost.dll
    upnpui.dll
    ssdpsrv.dll
    ssdpapi.dll
    udhisapi.dll
    cmnicfg.xml
    ipcfg.xml
    osinfo.xml
    potscfg.xml
    pppcfg.xml
    
  • run this: sysocmgr.exe /i:c:\main.inf in the Start/Run box
  • Select the UPnP section and install it (you may see a checkbox that is blank, ignore it, leave it unchecked
  • launch regedit (start/run/Type: regedit/Okay)
  • Find: hklm\software\microsoft\windows nt\currentversion\svchost
  • Edit: ‘LocalService’ Key and add upnphost and SSDPSRV, each on their own line, at the end. Include an empty line afterwards.
  • Reboot
  • open up the Services window (run services.msc), and set Universal PnP and SSDP discovery service to automatic.
  • You are good to go
  • Leave a Reply

    You must be logged in to post a comment.