<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The Inner Product</title><link>http://blogs.msdn.com/alan_ludwig/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Windows Media Connect doesn’t share my files from a network share</title><link>http://blogs.msdn.com/alan_ludwig/archive/2006/02/02/523185.aspx</link><pubDate>Thu, 02 Feb 2006 17:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:523185</guid><dc:creator>Alan Ludwig</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/alan_ludwig/comments/523185.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alan_ludwig/commentrss.aspx?PostID=523185</wfw:commentRss><description>&lt;p&gt;So, all of the issues from the previous post apply here.&amp;nbsp; The file must be the right type, have the right permissions, and be parsed.&amp;nbsp; However, there are a couple of different things to consider that are unique to network shares.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;There are a couple of ways that you can get access to data on the network in Windows.&amp;nbsp; Two of the most popular are “mapping a network drive” and “UNC Shares”.&amp;nbsp; WMC only supports UNC Shares.&amp;nbsp; These are share names of the form &lt;a href="file://alanlu02/media"&gt;\\alanlu02\media&lt;/a&gt; for example.&amp;nbsp; If you go into the WMC UI and attempt to share out content on a network drive then WMC will attempt to figure out the equivalent UNC path and share that instead.&lt;/p&gt;
&lt;p&gt;The big problem that comes in to play with network shares are all permission related. You have to grant the right permissions. The easiest case is for a Windows XP box that is not domain joined. In this case, you must set the file and share permissions to be READ for the NETWORK account.&amp;nbsp; That’s great, but what about files that are on a version of Windows Server?&amp;nbsp; I got the full scoop from Mukul, who worked with me on WMC.&amp;nbsp; Among other things he wrote the file scanner and added the network share support.&amp;nbsp; Here is what he shared:&lt;/p&gt;
&lt;p&gt;If:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Your media is in a share on a W2K computer in a workgroup (for example: &lt;a href="file://W2KServerName/FooShare"&gt;\\W2KServerName\FooShare&lt;/a&gt;) and 
&lt;/li&gt;&lt;li&gt;You want to access this media on your devices using WMCv2.0 running on a WinXP machine in workgroup&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Continue reading below about the permissions requirements for W2K machine:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ADD READ permission for "NETWORK" account in the W2K share permissions 
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;p&gt;For example: On W2K machine, If you are sharing C:\Foo as "FooShare", then open properties of C:\Foo, go to "Sharing" tab on properties windows. It will show you the information about "FooShare". Click "Permissions" button there (which is used to set permissions of this share) and add READ permission for NETWORK account&lt;/p&gt;&lt;/blockquote&gt;
&lt;/li&gt;&lt;li&gt;ADD READ permission for "NETWORK" account in the security permissions of underlying folder (folder that is being shared).&amp;nbsp; 
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;For example: On W2K machine, if you are sharing C:\Foo as "FooShare", then add READ permission for NETWORK account in the Properties-&amp;gt;”Security” of folder C:\Foo.&lt;/p&gt;&lt;/blockquote&gt;
&lt;/li&gt;&lt;li&gt;Enable guest account on your W2K machine (it is disabled by default on W2K machines). See this link for information on it (&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;258938"&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;258938&lt;/a&gt;) 
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;p&gt;In general, WMCv2.0 should be able to access contents on W2K share after the steps given above. &lt;/p&gt;&lt;/blockquote&gt;
&lt;/li&gt;&lt;li&gt;If it is still not working, try one more step. Some W2K machines have ANONYMOUS sessions explicitly disabled on them. To allow anonymous access on these shares, see this link: &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;289655"&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;289655&lt;/a&gt; &lt;/li&gt;&lt;/ol&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=523185" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alan_ludwig/archive/tags/WMC/default.aspx">WMC</category></item><item><title>Windows Media Connect can’t see my files</title><link>http://blogs.msdn.com/alan_ludwig/archive/2006/02/01/522092.aspx</link><pubDate>Wed, 01 Feb 2006 19:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:522092</guid><dc:creator>Alan Ludwig</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alan_ludwig/comments/522092.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alan_ludwig/commentrss.aspx?PostID=522092</wfw:commentRss><description>&lt;p&gt;I’ll cover the common causes for Windows Media Connect (WMC) not exposing a file.&amp;nbsp; I’m going to limit the information today to files that are on the same computer as WMC.&amp;nbsp; I’ll cover network shares in another post.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;There are three common reasons why WMC won’t expose a file.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;The file format isn’t supported&lt;/li&gt;
&lt;li&gt;The file permissions don’t allow WMC to read the file&lt;/li&gt;
&lt;li&gt;The file can’t be parsed by WMC (file is corrupt or has unrecognized content)&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Let’s take these in order.&lt;/p&gt;
&lt;p&gt;WMC supports files with the following extensions (the official list is here &lt;a href="http://www.microsoft.com/windows/windowsmedia/devices/wmconnect/faq.aspx#5_1"&gt;http://www.microsoft.com/windows/windowsmedia/devices/wmconnect/faq.aspx#5_1&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;u&gt;&amp;nbsp;Audio&lt;/u&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows Media Audio (.wma)&lt;/li&gt;
&lt;li&gt;Advanced Systems Format (.asf)&lt;/li&gt;
&lt;li&gt;MP3 (.mp3)&lt;/li&gt;
&lt;li&gt;WAV (.wav)&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;u&gt;Video&lt;/u&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows Media Video (.wmv)&lt;/li&gt;
&lt;li&gt;Microsoft Recorded TV Show (.dvr-ms)&lt;/li&gt;
&lt;li&gt;Audio Video Interleaved (.avi)&lt;/li&gt;
&lt;li&gt;MPEG-1 (.mpeg, .mpg)&lt;/li&gt;
&lt;li&gt;MPEG-2 (.mp2, .mpeg, .mpg)&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;u&gt;Picture&lt;/u&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bitmap (.bmp)&lt;/li&gt;
&lt;li&gt;Graphics Interchange Format (.gif)&lt;/li&gt;
&lt;li&gt;Joint Photographic Experts Group (.jpeg, .jpg)&lt;/li&gt;
&lt;li&gt;Portable Network Graphics (.png)&lt;/li&gt;
&lt;li&gt;Tagged Image File Format (.tif, .tiff)&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;u&gt;Playlists&lt;/u&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows Media Playlist (.wpl)&lt;/li&gt;
&lt;li&gt;MP3 Playlist (.m3u)&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;If your media file isn’t in one of the above formats, then you’ll need to convert it to one of the above formats if you’d like to use WMC to play it back.&amp;nbsp; The two file formats that I hear about most often that aren’t supported are .MP4 and whatever the iTunes format is (I honestly can’t remember what the extension is).&lt;/p&gt;
&lt;p&gt;The next most common problem is file permissions.&amp;nbsp; In order to share a local file the file must have read permissions granted to NETWORK SERVICE.&amp;nbsp; You can check permissions on a particular file using the cacls.exe program from the command line or you can do it in explorer.&amp;nbsp; Detailed instructions on how to fix file permission errors from explorer are found here &lt;a href="http://www.microsoft.com/windows/windowsmedia/devices/wmconnect/faq.aspx#4_5"&gt;http://www.microsoft.com/windows/windowsmedia/devices/wmconnect/faq.aspx#4_5&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The last problem that is commonly encountered are file parsing problems.&amp;nbsp; For some reason WMC hits an error when trying to read the file.&amp;nbsp; If WMC can’t parse the file it doesn’t share the file.&amp;nbsp; There are a couple of ways to attach this problem.&amp;nbsp; First, if the file doesn’t play in windows media player it probably won’t play in WMC either.&amp;nbsp; Try that first.&amp;nbsp; If that works then it is still possible that the file can’t be parsed by WMC.&amp;nbsp; You should check the file-scanning log that is usually found at this path: &lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;p&gt;C:\Documents and Settings\NetworkService\Local Settings\Application Data\Microsoft\Windows Media Connect 2\FileScanLogFile.txt&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Sometimes more detailed error information can be found.&amp;nbsp; This file can be quite large so it may take some time to find the particular file that you are interested in.&lt;br/&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=522092" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alan_ludwig/archive/tags/WMC/default.aspx">WMC</category></item><item><title>My Digital Media Receiver can’t see Windows Media Connect</title><link>http://blogs.msdn.com/alan_ludwig/archive/2006/02/01/521647.aspx</link><pubDate>Wed, 01 Feb 2006 09:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:521647</guid><dc:creator>Alan Ludwig</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/alan_ludwig/comments/521647.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alan_ludwig/commentrss.aspx?PostID=521647</wfw:commentRss><description>&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;You’ve got everything hooked up and Windows Media Connect (WMC) can see your Digital Media Receiver (DMR) but your DMR can’t see WMC. This one is very interesting.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Let’s take a look at what could cause this problem.&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;When the DMR wants to find WMC (or vice versa) it sends out an SSDP MSEARCH request.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;When a UPnP device that matches the parameters of the search hears the broadcast it responds with its own announcement.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Alternately, WMC sends out an announcement every five minutes or so to advertise its presence.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Let’s imagine what could go wrong.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;First, the MSEARCH may not be getting to WMC.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;This could be caused by bad cables, bad routers, or firewalls.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I’ve already covered how to fix all of those, because they would also block WMC from seeing the DMR.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;If you’ve got Internet connectivity for your PC and your DMR you can eliminate cables as the cause.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Next, I’d eliminate the router by connecting directly. If that still didn’t work, I’d start disabling the firewalls. That isn’t really a problem at this point, because you aren’t connected to the internet if you aren’t connected to your router, right?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Don’t ever disable your firewall while connected to the internet.&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;There is another scenario that should be considered when WMC can see your DMR, but not the other way around.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It is actually the UPnP Content Directory Service (CDS) that the DMR goes looking for. WMC won’t advertise a CDS if there are no files shared.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Basically, WMC won’t advertise an empty library.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;So, what could cause an empty library?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Two things come to mind. First, if you never completed the first-run wizard then there are no folders shared. No folders shared, means no files shared. No files shared means no CDS.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Even though WMC can find the DMR, the DMR doesn’t have a CDS to find.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Second, you may not have permission to read the files that you’ve shared.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;No access to the files means no files shared.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;And no Files Shared means no CDS.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I’ve seen this happen most with domain joined PCs (see my last article).&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;For one of the reasons discussed in that article WMC can’t validate that the user has access to the files, so it doesn’t share them.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The result is again no CDS for the DMR to find.&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;So, when you start up WMC for the first time, do it from a local account that has administrator privileges and complete the first run wizard even if you can’t find the DMR.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;You need to do that to be sure that there is a CDS to find later.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The rest of the troubleshooting steps are the same as in the case where WMC can’t find the DMR.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=521647" width="1" height="1"&gt;</description></item><item><title>Windows Media Connect and Domains</title><link>http://blogs.msdn.com/alan_ludwig/archive/2006/01/30/519352.aspx</link><pubDate>Mon, 30 Jan 2006 18:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:519352</guid><dc:creator>Alan Ludwig</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/alan_ludwig/comments/519352.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alan_ludwig/commentrss.aspx?PostID=519352</wfw:commentRss><description>&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;A surprising number of people are running domains in their homes.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Windows Media Connect (WMC) can work on a domain joined PC.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Nearly every computer at Microsoft is joined to one of the corporate domains.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;That was true of me as well as I worked on WMC. So, I daily streamed music from a domain joined PC from WMC.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;However, there are some issues to be aware of with domain joined PCs.&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;For those of you with a domain controller at home, make sure the computer running WMC has been added to the Windows Authorization Access group in Active Directory.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Also, you have to either disable IPSEC on your domain or configure the WMC computer as a boundary machine so that it can communicate with non-IPSEC devices.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;For those of you who have a home computer joined to a corporate domain you have less control over your situation.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;What I’ve done in this situation is to log in with the local administrator account (a non-domain account) and do my folder sharing from there.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;There are two basic problems here that have to be overcome.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The first is simple connectivity.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;IPSEC encrypts part of the packets.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;There isn’t any shipping Digital Media Receiver (DMR) that I know of that support IPSEC.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;So, if you want basic connectivity with a DMR you are going to have to communicate with it without using IPSEC.&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;The second issue that has to be overcome is basic file permissions.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;WMC is a service that runs under the NETWORK SERVICE account.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;In order to share the files over the network it must have access to them. At service startup it walks through its list of shares and checks to see if the person who shared the files has access.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;In the case of the domain joined PC that person is a domain user.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Therefore it must interact with the domain to determine access.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The NETWORK SERVICE account won’t have access to the security information of the user who shared the folder if the machine isn’t added to the Windows Authorization Access Group in Active Directory.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Since the service can’t validate that the user who granted the shares has permission on the files it won’t expose a server. This same situation arises when a Domain Joined PC is disconnected from the domain (as when you bring home a corporate laptop).&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The NETWORK SERVICE account can’t communicate with the domain to validate file permissions and therefore it won’t expose a server.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=519352" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alan_ludwig/archive/tags/WMC/default.aspx">WMC</category></item><item><title>Windows Media Connect can’t see my DMR: IV</title><link>http://blogs.msdn.com/alan_ludwig/archive/2006/01/27/518314.aspx</link><pubDate>Fri, 27 Jan 2006 18:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:518314</guid><dc:creator>Alan Ludwig</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alan_ludwig/comments/518314.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alan_ludwig/commentrss.aspx?PostID=518314</wfw:commentRss><description>&lt;P&gt;You've been trying to get it to work but Windows Media Connect (WMC) doesn’t see your device, and neither does the UPnP Subsystem.&amp;nbsp; We figured that out by running the script pasted to the blog a few entries back.&amp;nbsp; What could be causing this?&amp;nbsp; Let’s get past a few basic questions before we get usual causes. If you’ve been following along the posts in order, you’ve already worked through these issues.&amp;nbsp; If not, be sure to address these first, before you continue.&lt;/P&gt;
&lt;P&gt;Did the script give an error?&amp;nbsp; This could be caused by the UPnP Services not being started.&amp;nbsp; Go look at this post: &lt;a href="http://blogs.msdn.com/alan_ludwig/archive/2006/01/20/515333.aspx"&gt;http://blogs.msdn.com/alan_ludwig/archive/2006/01/20/515333.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Does basic internet connectivity work?&amp;nbsp; Do you have a router?&amp;nbsp; Check out this post, and make sure you are testing with a “direct” and “wired” connection: &lt;a href="http://blogs.msdn.com/alan_ludwig/archive/2006/01/18/WMCOverview.aspx"&gt;http://blogs.msdn.com/alan_ludwig/archive/2006/01/18/WMCOverview.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;If it still doesn’t see the device the most likely cause is some kind of firewall.&amp;nbsp; For basic discovery, the ports that must be opened in the PC firewall have already been discussed here: &lt;a href="http://blogs.msdn.com/alan_ludwig/archive/2006/01/23/516232.aspx"&gt;http://blogs.msdn.com/alan_ludwig/archive/2006/01/23/516232.aspx&lt;/A&gt;.&amp;nbsp; But, since firewalls are the most likely problem in if you’ve gotten this far then this is a good place to review all of ports and why they need to be opened.&amp;nbsp; Here’s the full list of ports that are used by WMC: 1900 UDP,2869 TCP,10243 TCP, 10280 – 10284 UDP.&lt;/P&gt;
&lt;P&gt;In previous posts, I’ve already covered what is done with 1900 UDP, and 2869 TCP.&amp;nbsp; Port 1900 is used for SSDP discovery.&amp;nbsp; This is where the multicast device announcements come in.&amp;nbsp; I’ve also already covered what happens on port 2869 TCP.&amp;nbsp; This is the main port for all UPnP traffic.&amp;nbsp; UPnP is basically HTML and SOAP, so essentially there is a web-server at 2869 TCP.&lt;/P&gt;
&lt;P&gt;Port 10243 TCP is used by WMC to actually stream the media to the PC.&amp;nbsp; Basically, there is a web server on this port.&amp;nbsp; The Digital Media Receiver (DMR) uses UPnP on port 2869 to get a list of the music, video, or photos that are available.&amp;nbsp; When it is ready to play music (for example) it gets the URL of the song from UPnP and then requests it.&amp;nbsp; The port in that URL is port 10243.&amp;nbsp; The web server then streams the music to the DMR on that port.&lt;/P&gt;
&lt;P&gt;Ports 10280 – 10284 UDP are used by Windows Media Digital Rights Management for Network Devices (WMDRM-ND) as part of the device registration process.&amp;nbsp; I’m not going to go into great detail about what they are used for since the internals of DRM are beyond the scope of this post.&amp;nbsp; But if you’d like to play-back protected music, then these ports need to be open.&amp;nbsp; Having these ports block will not interfere with discovery or even keep unprotected content from playing back.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;WMC was tested and works perfectly well with the Windows firewall. If you don’t have a 3rd party firewall, then there is no reason to go in and adjust or turn off the windows firewall.&amp;nbsp; The most you should need to do to get the windows firewall working correctly with WMC is to go into the advanced tab on the windows firewall and choose “Restore Defaults”.&amp;nbsp; After that go into the WMC User Interface (UI) and choose “Reset” under the firewall section.&amp;nbsp; If you’d like to make especially sure that it isn’t the windows firewall then you can disable it.&amp;nbsp; But, I would only do that if you are physically disconnected from the internet.&amp;nbsp; If you ever review your firewall logs you’ll see that when you are connected to the internet (especially an always-on broadband connection) you are attacked every few minutes at most. Don’t disable your firewall while you are connected to the internet.&lt;/P&gt;
&lt;P&gt;For 3rd party firewalls you should seek help from your firewall provider.&amp;nbsp; From the newsgroups and web-forums that I visit I’ve heard a whole range of things that people had to do to get WMC working with 3rd party firewalls. I’ve heard everything from “I just opened the ports” to “I had to completely uninstall the firewall”.&amp;nbsp; Again, my advice is always the same.&amp;nbsp; If you are using a 3rd party firewall and you disable or remove it to troubleshoot WMC, don’t do that while you are connected to the internet.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;I highly recommend using firewall software.&amp;nbsp; It is critically important to have that protection.&amp;nbsp; Personally, I use the built-in windows firewall. I don’t use a 3rd party firewall on any of my computers.&amp;nbsp; My primary source of security is the firewall in my hardware router.&amp;nbsp; As a second layer of security I use the built-in Windows Firewall.&amp;nbsp; I’ve run all kinds of security scans available from reputable sources and when running in this configuration they all give me passing marks. As part of my security practices I run real-time virus detection software as well as a full scan every night (automatically scheduled while I sleep).&amp;nbsp; I also have ad ware and spyware protection. The only downside (in theory) to not running a 3rd party firewall on my computer is that I don’t control or block outgoing connections.&amp;nbsp; With the two incoming firewalls, and the ad ware and virus protection packages I don’t feel like this is a fatal security flaw.&amp;nbsp; Most folks don’t have the expertise to actually make good decisions about the validity of a particular outgoing connection so in the end I don’t think it helps much anyway.&amp;nbsp; Mostly it is just annoying to keep the list of “authorized applications” up to date and to deal with the constant pop-ups from the 3rd party firewall to authorize a particular connection or application.&lt;/P&gt;
&lt;P&gt;That’s my whole rant on firewalls and how to troubleshoot them.&amp;nbsp; But, that isn’t the whole list of things that could be causing problems.&amp;nbsp; If your PC is a member of a domain there&amp;nbsp; a few other issues that you could run into.&amp;nbsp; I’ll cover those next time.&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=518314" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alan_ludwig/archive/tags/WMC/default.aspx">WMC</category></item><item><title>Windows Media Connect can’t see my DMR: III</title><link>http://blogs.msdn.com/alan_ludwig/archive/2006/01/25/517390.aspx</link><pubDate>Wed, 25 Jan 2006 17:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:517390</guid><dc:creator>Alan Ludwig</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/alan_ludwig/comments/517390.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alan_ludwig/commentrss.aspx?PostID=517390</wfw:commentRss><description>&lt;P&gt;You’ve run the UPnP enumeration script and everything shows up just fine.&amp;nbsp; That means that the problem is inside WMC itself.&amp;nbsp; For some reason Windows Media Connect (WMC) a is getting device notifications from UPnP but isn’t showing the device.&amp;nbsp; So, Let’s take a look at what happens when WMC gets a device notification.&lt;/P&gt;
&lt;P&gt;Unlike any other UPnP Content Directory or Media Server that I’ve ever seen, WMC has a security model.&amp;nbsp; You decide what devices get access to what media folders on your Personal Computer (PC).&amp;nbsp; This is great, but it does place a special burden on WMC.&amp;nbsp; The concept of security is completely foreign to UPnP.&amp;nbsp; There is no basis in the protocol for it, so it has to be built separately on top.&lt;/P&gt;
&lt;P&gt;The biggest problem in WMC’s security system comes in trying to determine who the requests come from.&amp;nbsp; UPnP isn’t any help here as all UPnP requests are completely anonymous.&amp;nbsp; The next obvious thing to look at would be the IP address of the caller.&amp;nbsp; If the IP address matched the database of known IP addresses, then grant access.&amp;nbsp; In practice that doesn’t work for two reasons.&amp;nbsp; The first one is that devices change their IP addresses all the time.&amp;nbsp; So keeping track of the changes and keeping the IP database up to date would be painful.&amp;nbsp; The second reason that isn’t a very good idea is that just about anyone who knows anything about networking knows how to change their IP address to anything they’d like.&amp;nbsp; That wouldn’t be much help in keeping your media collection private&lt;/P&gt;
&lt;P&gt;The final solution wasn’t much better than IP address.&amp;nbsp; The final decision was to use MAC addresses to identify the DMRs.&amp;nbsp; I say that isn’t much better because spoofing MAC addresses isn’t really much more difficult than spoofing IP addresses.&amp;nbsp; But, that was the best that could be done given that the underlying protocol is completely anonymous.&amp;nbsp; So, keep this in mind: WMC is only as secure as the network it is running on.&amp;nbsp; If you network is secure then WMC is secure.&amp;nbsp; If your network is insecure, WMC’s access model isn’t enough to keep your media private.&lt;/P&gt;
&lt;P&gt;When a request comes in or a device announcement is made the first thing that WMC does is convert the IP address of the source into a MAC address.&amp;nbsp; Here is the important part.&amp;nbsp; You can only turn an IP address into a MAC address if the IP address in question is on the same subnet.&amp;nbsp; This is the reason that WMC can’t operate if the DMR is on a different subnet.&amp;nbsp; It can’t resolve the IP address into a MAC address and therefore it will not recognize the calling device and it will not service the request.&lt;/P&gt;
&lt;P&gt;After the MAC address has been determined, WMC looks up that MAC address in a special location in the reigistry.&amp;nbsp; If the MAC address is new then&amp;nbsp;all of the information about that device is stored in the registry.&amp;nbsp; The raw information about the device is stored in a sub-key of HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Connect 2\Devices.&amp;nbsp; Under that key will be a key that is named with the MAC address of the device. The values of the MAC key will contain all of the information extracted from the device document of the caller.&amp;nbsp; There is a second set of registry keys that controls the security status of the devices that are found under this key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Connect 2\MAC Access Control.&amp;nbsp; Under the “Allowed” subkey are the MAC addresses of all of the allowed devices.&amp;nbsp; Under the “Denied” subkey, are all of the MAC addresses of all of the devices that have been specifically denied access. The final subkey is the “New” subkey.&amp;nbsp; All of the devices that have been discovered that the end-user hasn’t made a security decision about yet are found there.&lt;/P&gt;
&lt;P&gt;So, when UPnP can find your device but it doesn’t show up in WMC I can imagine two things that are likely to be the root cause of the problem.&amp;nbsp; The first would be that the device isn’t on the same subnet so WMC couldn’t get a MAC address for it.&amp;nbsp; This can happen if your device and your server are connected to two different routers (perhaps because you needed a second wireless access point).&amp;nbsp; The other problem could be that the registry permissions are wrong and either WMC can’t write the information or the UI can’t read the information.&amp;nbsp; You may be able to fix this by fixing the permissions but frankly if the permissions on the HKEY_LOCAL_MACHINE registry hive are that wrong then you might really benefit from reinstalling the operating system. WMC would just be one thing in a very long list of things that didn’t work right about the computer.&lt;/P&gt;
&lt;P&gt;Tomorrow, we’ll look at how you might troubleshoot the problem if UPnP can’t even see your device (the script doesn’t enumerate the device).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=517390" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alan_ludwig/archive/tags/WMC/default.aspx">WMC</category></item><item><title>Windows Media Connect can’t see my DMR, Part II</title><link>http://blogs.msdn.com/alan_ludwig/archive/2006/01/24/516803.aspx</link><pubDate>Tue, 24 Jan 2006 17:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:516803</guid><dc:creator>Alan Ludwig</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alan_ludwig/comments/516803.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alan_ludwig/commentrss.aspx?PostID=516803</wfw:commentRss><description>&lt;p&gt;You’re sitting there at your PC next to the open box for your Digital Media Receiver (DMR) and you can’t authorize your DMR because it doesn’t show up in WMC. We had a little lesson on the theory of how SSDP discovery works with WMC, but how do you track down the problem?&amp;nbsp; Answer: Divide and conquer.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;If you’ve been reading all of the posts in order, then we’ve already made progress.&amp;nbsp; For example, if you’ve got internet connectivity from the DMR and from the PC then we can eliminate problems with the physical connection (like bad cables).&amp;nbsp; &lt;/p&gt;
&lt;p&gt;The next step I recommend is to remove the router from the equation.&amp;nbsp; With the Xbox 360 that is easy, just plug the PC directly to the Xbox 360 using any Ethernet cable.&amp;nbsp; For other DMR’s it isn’t so easy.&amp;nbsp; For other DMRs I recommend a crossover cable.&amp;nbsp; You could also use a hub, but most hubs these days are actually switches and may have the same problems with multicast packets that routers do. At any rate, directly connect the PC and the DMR with a wired Ethernet connection.&amp;nbsp; The PC will complain a bit and claim that the network connection may have limited functionality, but don’t worry about that.&amp;nbsp; Once you get them hooked up, wait a few minutes for each of the peers on the network to assign an Auto IP address and then open the WMC UI again and see if the device shows up. If it does, then the problem is your router. If that doesn’t work you can’t say anything about the router.&amp;nbsp; But, you should keep troubleshooting in this configuration and once you get it working, add the router back in.&lt;/p&gt;
&lt;p&gt;After removing the router, the next step I like to do is to run a little script to see if the SSDP service is seeing the DMR.&amp;nbsp; Just copy and paste the following vbscript into notepad and save it as “enumroot.wsf”.&amp;nbsp; Save it to an easy to remember location.&amp;nbsp; Then browse to that location in explorer and double click the file.&amp;nbsp; It won’t do anything for up to 20 seconds and then it will display a list of all the UPnP Devices that the SSDP service can find.&amp;nbsp; If your DMR is in this list, then the problem is with WMC. If your DMR is not in the list, then the problem is most likely with a firewall.&amp;nbsp; We’ll dive into those tomorrow. In the mean time, here’s the script.&lt;/p&gt;
&lt;p&gt;Of course, to keep the lawers happy I should also let&amp;nbsp; you know that Use of included script samples are subject to the terms specified at &lt;a href="http://www.microsoft.com/info/cpyright.htm"&gt;http://www.microsoft.com/info/cpyright.htm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;package&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;job id="EnumRoot"&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;runtime&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;description&amp;gt;This script enumerates all UPnP Root Devices&amp;lt;/description&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;named &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name = "O"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; helpstring = "File to write output results to."&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type = "string"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; required = "false"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;example&amp;gt;Example: EnumRoot /O:"Devices.txt"&amp;lt;/example&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/runtime&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;object id="DeviceFinder" progid="UPnP.UPnPDeviceFinder" /&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script language="VBScript"&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OPTION EXPLICIT&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If WScript.Arguments.Count &amp;gt; 1 Then&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WScript.Arguments.ShowUsage&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WScript.Quit&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Main&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sub Main&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim DeviceType&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Devices&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Device&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DeviceType = "upnp:rootdevice"&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set Devices = DeviceFinder.FindByType(DeviceType,0)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strOutput&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strOutput = "Found " &amp;amp; Devices.Count &amp;amp; " Devices" &amp;amp; vbCrLf&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strOutput = strOutput &amp;amp; "====================================" &amp;amp; vbCrLf&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Each Device in Devices&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strOutput = strOutput &amp;amp; "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " &amp;amp; Device.FriendlyName &amp;amp; vbCrLf&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strOutput = strOutput &amp;amp; "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " &amp;amp; Device.Type &amp;amp; vbCrLf&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strOutput = strOutput &amp;amp; "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " &amp;amp; Device.UniqueDeviceName &amp;amp; vbCrLf&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Wscript.Arguments.Named.Exists("O") Then&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim fso&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set fso = CreateObject("Scripting.FileSystemObject")&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim file&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set file = fso.CreateTextFile(Wscript.Arguments.Named.Item("O"), True, True)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file.Write(strOutput)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file.Close&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WScript.Echo strOutput&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/script&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/job&amp;gt;&lt;br/&gt;&amp;lt;/package&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=516803" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alan_ludwig/archive/tags/WMC/default.aspx">WMC</category></item><item><title>Windows Media Connect can’t find my Digital Media Receiver</title><link>http://blogs.msdn.com/alan_ludwig/archive/2006/01/23/516232.aspx</link><pubDate>Mon, 23 Jan 2006 18:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:516232</guid><dc:creator>Alan Ludwig</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alan_ludwig/comments/516232.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alan_ludwig/commentrss.aspx?PostID=516232</wfw:commentRss><description>&lt;P&gt;Well so far you brought your Digital Media Receiver (DMR) home, hooked it up, and checked basic network connectivity.&amp;nbsp; Then you went to the PC and installed Windows Media Connect (WMC) and got folder sharing started.&amp;nbsp; Unfortunately, that is as far as you’ve gotten. You’re sitting at your computer with the WMC configuration user interface (UI) and your DMR isn’t visible.&amp;nbsp; This is a problem.&amp;nbsp; Your DMR won’t be allowed to access any of the content on your PC until it is authorized in WMC.&amp;nbsp; However, WMC can’t authorize what it can’t see. You are not going to get any further until you authorize your DMR.&lt;/P&gt;
&lt;P&gt;Let’s spend some time exploring how discovery works.&amp;nbsp; WMC is a UPnP Content Directory Service.&amp;nbsp; So, that means it conforms to the UPnP specification, which is free for the download at &lt;A href="http://www.upnp.org/"&gt;http://www.upnp.org&lt;/A&gt;.&amp;nbsp; In the documents section of the UPnP website is a document call UPnP Device Architecture.&amp;nbsp; Section One of this document explains in great technical detail how discovery works.&amp;nbsp; The entire discovery process is called the Simple Service Discovery Protocol or just SDDP. Here’s the summary, straight from the specification:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;When a new device is added to the network, it multicasts a number of discovery messages advertising its embedded devices and services. Any interested control point can listen to the standard multicast address for notifications that new capabilities are available.&lt;/P&gt;
&lt;P&gt;Similarly, when a new control point is added to the network, it multicasts a discovery message searching for interesting devices, services, or both. All devices must listen to the standard multicast address for these messages and must respond if any of their embedded devices or services match the search criteria in the discovery message.&lt;/P&gt;
&lt;P&gt;To reiterate, a control point may learn of a device of interest because that device sent discovery messages advertising itself or because the device responded to a discovery message searching for devices. In either case, if a control point is interested in a device and wants to learn more about it, the control point must use the information in the discovery message to send a description query message. The section on Description explains description messages in detail. &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;What that means is that when a UPnP devices is present on the network every few minutes it will send out an advertisement to a multi-cast address.&amp;nbsp; Any interested party can listen for the advertisements.&amp;nbsp; Additionally, if you don’t want to wait for the advertisements, you can send out a multicast search message and then every matching device will respond with an advertisement.&amp;nbsp; The multicast address used is 239.255.255.250:1900. And now we get the magic port number: 1900.&amp;nbsp; The whole list of ports that WMC uses can be found here (&lt;A href="http://www.microsoft.com/windows/windowsmedia/devices/wmconnect/faq.aspx#4_4"&gt;http://www.microsoft.com/windows/windowsmedia/devices/wmconnect/faq.aspx#4_4&lt;/A&gt;), but it is specifically port 1900 that is used for discovery.&lt;/P&gt;
&lt;P&gt;The SSDP advertisement isn’t the only step that is required for you to see your DMR in WMC.&amp;nbsp; WMC uses the UPnP API’s that are part of the Windows operating system.&amp;nbsp; It is actually the SSDP service that takes care of listening to these announcements and keeping track of the UPnP devices on the network.&amp;nbsp; One of the required pieces of data in the SSDP advertisement is the URL of the device document.&amp;nbsp; Before the SSDP service will tell WMC about the device, the SSDP service retrieves the device document.&amp;nbsp; If it can’t get the device document, it doesn’t notify WMC about the service.&lt;/P&gt;
&lt;P&gt;Notice that I didn’t indicate what port this happens on.&amp;nbsp; I did that for two reasons. The first reason is that I don’t know what port. The device document could be on ANY port that the device chooses.&amp;nbsp; The second reason is that it doesn’t matter.&amp;nbsp; You don’t need to open this port in your firewall anyway.&amp;nbsp; Firewalls typically work by blocking incoming traffic, not outgoing traffic.&amp;nbsp; For example, that means that you need to open port 1900 in your firewall so that the SSDP announcement from your Xbox can get to the PC, but you don’t need to open any ports for the SSDP announcement from your PC to get to your Xbox.&amp;nbsp; Also, you don’t need to open any ports in your firewall for your PC to be able to retrieve the device document from your Xbox, since that is an outgoing request from the PC.&lt;/P&gt;
&lt;P&gt;DMRs also discover PC’s the exact same way.&amp;nbsp; They listen for the SSDP announcements that are made by WMC (via the SSDP service) and when they hear the announcement they retrieve WMCs device document.&amp;nbsp; Here, I can tell you what port it happens on. It is port 2869.&amp;nbsp; Again, you can find the whole list of ports used by WMC at the link above. This port (2869)&amp;nbsp;is the port that UPnP uses for everything other than SSDP announcements.&amp;nbsp; All incoming UPnP requests come through this port, including the request for the device document.&amp;nbsp; Your DMR may be able to see WMC without opening this port, but you can’t get any further than that. There are still quite a few more ports listed in the FAQ’s, but for UPnP functionality you only need those two. The rest are used for streaming the content and for digital rights management.&lt;/P&gt;
&lt;P&gt;I’ve got one final word about firewalls before I’m finished with this post.&amp;nbsp; The firewall I’ve talked about here in this article is the software firewall on your PC, not the firewall that is built into your router.&amp;nbsp; These ports must be open on the PC firewall for WMC to work.&amp;nbsp; Under no circumstances should you open ports on your router's firewall to get WMC to work.&amp;nbsp; The firewall on your router sits between the WAN port and the LAN ports.&amp;nbsp; It does not sit between two computers plugged into the LAN ports.&amp;nbsp; That means that the traffic between two devices on the LAN side shouldn’t be interfered with by the router.&amp;nbsp; If you do have to open router ports to get WMC to work, then in my opinion your router has a fatal security flaw and you should seriously reconsider if you want to trust the security of your network to that router.&lt;/P&gt;
&lt;P&gt;Tomorrow I’ll move from theory to practice on tracking down discovery problems.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=516232" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alan_ludwig/archive/tags/WMC/default.aspx">WMC</category></item><item><title>Windows Media Connect Folder Sharing Won't Start </title><link>http://blogs.msdn.com/alan_ludwig/archive/2006/01/20/515333.aspx</link><pubDate>Fri, 20 Jan 2006 18:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:515333</guid><dc:creator>Alan Ludwig</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/alan_ludwig/comments/515333.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alan_ludwig/commentrss.aspx?PostID=515333</wfw:commentRss><description>&lt;P&gt;After installation the next barrier that folks can hit is service startup.&amp;nbsp; It looks something like this.&amp;nbsp; You run through the first-run wizard and after it is all done you get a popup balloon that says “Folder sharing failed to start”.&amp;nbsp; That doesn’t sound good so you click on the bubble and the Windows Media Connect UI opens up.&amp;nbsp; You click on the Settings button on the left.&amp;nbsp; You hit the button at right at the top that says Start.&amp;nbsp; And again, you get an error that says “Folder sharing failed to start”.&lt;/P&gt;
&lt;P&gt;When this happens, the first place to start is the system event log.&amp;nbsp; You can read that from the event viewer.&amp;nbsp; There are several ways to get to the event viewer.&amp;nbsp; I usually get to it by right-clicking on “My Computer” and choosing “Manage”.&amp;nbsp; That brings up a nice management console that has all kinds of useful snaps-ins for managing everything from hard-disks to user accounts and includes both the service manager and the event viewer. However, for simplicity sake lets just pull up the event viewer in its own console. Press Start-&amp;gt;Run and type in “eventvwr.msc”.&amp;nbsp; That should launch the event viewer management console in its own window.&lt;/P&gt;
&lt;P&gt;To figure out what went wrong you should look for error entries from either the Service Control Manager or WMConnectCDS.&amp;nbsp; The most common problem is that one of the services that WMC depends on didn’t start. The error message looks something like this&lt;/P&gt;
&lt;P&gt;Event Type:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Error &lt;BR&gt;Event Source:&amp;nbsp;&amp;nbsp; Service Control Manager &lt;BR&gt;Event Category: None &lt;BR&gt;Event ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7001 &lt;BR&gt;Description: &lt;BR&gt;The Windows Media Connect Service service depends on the Universal Plug and &lt;BR&gt;Play Device Host service which failed to start because of the following &lt;BR&gt;error: &lt;BR&gt;%%0 &lt;/P&gt;
&lt;P&gt;Ok, so the problem is with another service. It is time to open the Services management console.&amp;nbsp; As I said before, I usually do this by right-clicking on “My Computer” and choosing “Manage” but again for simplicity sake, let’s open the services console in its own window.&amp;nbsp; Click Start-&amp;gt;Run and type “services.msc” and the services console will open.&lt;/P&gt;
&lt;P&gt;Let’s take a look at the services that WMC depends on.&amp;nbsp; Scroll down the list in the services console until you find one that says “Windows Media Connect Service”.&amp;nbsp; Double click that entry and the details dialog for WMC will open.&amp;nbsp; Click on the “Dependencies” tab and you will see that WMC depends on two services, the HTTP service and UPnP Device Host.&amp;nbsp; But wait, that’s not all.&amp;nbsp; These services may also depend on other services.&amp;nbsp; Click on the little “+” next to each of these services to see what they depend on. HTTP doesn’t depend on anything, but the Universal Plug and Play Device Host depends on HTTP and the SSDP Discovery Service.&amp;nbsp; Clicking on the SSDP Discovery Service we see that it depends on HTTP as well.&amp;nbsp; So all together we find that Windows Media Connect depends on HTTP, the Universal Plug and Play Device Host service, and the SSDP Discovery Service.&lt;/P&gt;
&lt;P&gt;I’ve talked to lots of people who had tremendous trouble getting the UPnP services to start. The problem run from permissions problems on files, to permission problems in the registry to corrupted installs of Windows XP.&amp;nbsp; Unfortunately, in a few cases the only way to fix the issue was to re-install Windows.&amp;nbsp; Hopefully that won’t be the case for you, but I want to prepare you for the worst.&amp;nbsp; You do have backups of all your critical files don’t you?&amp;nbsp; &lt;/P&gt;
&lt;P&gt;For a lot more people the problem was that the UPnP Services were disabled.&amp;nbsp; Fortunately that is easy to fix. To re-enable the services look in the Services Console for the SSDP Discovery Service. Double click the entry.&amp;nbsp; Look in the “General” tab look in the middle for the “Startup Type”.&amp;nbsp; If this says “Disabled” change it to “Manual”.&amp;nbsp; And do the same for&amp;nbsp; the UPnP Device Host. After that close the event viewer and the services console and go back to WMC and click on start again.&amp;nbsp; With a little bit of luck your service should be running now.&amp;nbsp; If not, you’ve got a more serious problem and you should probably post something to the forums &lt;A href="http://www.xbox.com/"&gt;http://www.xbox.com&lt;/A&gt; or &lt;A href="http://www.wmcplayer.com/"&gt;http://www.wmcplayer.com&lt;/A&gt; or the newsgroups at &lt;A href="news://microsoft.public.windowsmedia.devices/"&gt;news:\\Microsoft.public.windowsmedia.devices&lt;/A&gt;.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;I often wonder why so many people have the UPnP Services disabled.&amp;nbsp; I’ve got a theory about that.&amp;nbsp; Back in 2001 a major vulnerability was found in UPnP.&amp;nbsp; The vulnerability is fixed in SP2, so if your system meets the install prerequisites for WMC, then you’ve already got the patch.&amp;nbsp; If you are interested in reading more about the vulnerability you can check out the original security bulletin (&lt;A href="http://www.microsoft.com/technet/security/bulletin/MS01-059.mspx"&gt;http://www.microsoft.com/technet/security/bulletin/MS01-059.mspx&lt;/A&gt;).&amp;nbsp; Having the patch is great, but my guess is that many people went one step further.&amp;nbsp; The other way to secure you from the vulnerability was to disable UPnP.&amp;nbsp; Back in 2001 there wasn’t much you could do with UPnP anyway.&amp;nbsp; Almost nobody was using it, so you could probably disable it and nobody would notice.&amp;nbsp; My theory is that some of the common security tools&amp;nbsp;of the time&amp;nbsp;did just that.&amp;nbsp; They disabled UPnP.&amp;nbsp; The result being that 5 years later when a really cool UPnP Application comes out there are lots of people out there who disabled UPnP&amp;nbsp;five years ago and didn’t know it, or don’t remember.&amp;nbsp; Anyway, that’s my theory and I’m sticking with it.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=515333" width="1" height="1"&gt;</description></item><item><title>Manual Installation instructions for Windows Media Connect</title><link>http://blogs.msdn.com/alan_ludwig/archive/2006/01/19/WMCInstall.aspx</link><pubDate>Thu, 19 Jan 2006 18:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:514844</guid><dc:creator>Alan Ludwig</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/alan_ludwig/comments/514844.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alan_ludwig/commentrss.aspx?PostID=514844</wfw:commentRss><description>&lt;P&gt;For various reasons, it is often useful to have instructions for manual install or uninstall of an application. Perhaps you'd just like to "reset" all of the settings without actually deleting or re-adding any of the files.&amp;nbsp; Here are the manual install and uninstall steps for Windows Media Connect.&amp;nbsp; Note, these are not officially supported, but they may be of use.&amp;nbsp; Before you begin, you’ll need to get your hands on the RAW WMC v2 files.&amp;nbsp; The easiest way to do that is to get the install package from the download center and extract the files from the package using WinZip or a similar program.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Create an install directory.&amp;nbsp; Something like c:\program files(x86)\Windows Media Connect 2 
&lt;LI&gt;Copy wmccds.exe, wmcsci.dll, and wmcfg.exe to your install directory. 
&lt;LI&gt;Open a command window and navigate to your install directory. 
&lt;LI&gt;Run "regsvr32 wmcsci.dll" 
&lt;LI&gt;Run "wmccds.exe -installwithfiles" ( or just -install if all the support files are already present in the directory) 
&lt;LI&gt;Run wmccfg.exe and complete the "first run wizard" &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;BR&gt;To uninstall WMC (without removing any actual files) &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Exit wmccfg.exe (not just close to the task bar, but actually exit) 
&lt;LI&gt;Run "wmccds.exe -uninstall" 
&lt;LI&gt;Run "net stop wmconnectcds" to stop the service. 
&lt;LI&gt;Run "regsvr32 -u wmcsci.dll".&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;You don't need to do any manual registry cleanup for WMC as it simply removes all of its registry entries on uninstall and creates them on install. &lt;/P&gt;
&lt;P&gt;Hmmm, seems too simple doesn’t it?&amp;nbsp; This is actually a bit of work that I’m very proud of.&amp;nbsp; During the development of a product you end up installing the silly thing several times a day to unit test your progress. Over the course of a year that might be thousands of times.&amp;nbsp; I knew this at the beginning of the project and I waned to automate the process, so I added a command line switch to our service executable that would do all of the install steps.&amp;nbsp; All you had to do was run our main .exe on the command line with the install switch and it would install.&amp;nbsp; Nice huh.&amp;nbsp; I told my boss, “Well this is just for development. We can take it out or leave it undocumented when we ship.” &lt;/P&gt;
&lt;P&gt;The idea took root in the team and soon everyone was using it. Sean, one of the other developers on the team too the idea even further.&amp;nbsp; He did the work to add a bunch of support files to the product (the various icons and images needed). In addition to adding them to the project, he also added them as resources into the main executable.&amp;nbsp; After that he wired up the -installwithfiles switch to call all of my code and then unpack the support files into the same directory as the main executable.&amp;nbsp; Fantastic!&lt;/P&gt;
&lt;P&gt;The result was pure magic.&amp;nbsp; All that was needed to do a manual setup was to copy a few files and run a command line switch.&amp;nbsp; Uninstall was the same way.&amp;nbsp; It was so useful during development that we kept it up to date as things changed. If this saved 10 minutes per install per developer over the course of the year then it is likely that this saved hundreds of hours of development time for the team.&lt;/P&gt;
&lt;P&gt;When it came time to author the full install package for the release it just called our command line switch.&amp;nbsp; At that point, there was no removing it. It became a feature of the product.&amp;nbsp; It still isn’t officially supported, but our install depends on it working so it should work for you too.&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=514844" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alan_ludwig/archive/tags/WMC/default.aspx">WMC</category></item><item><title>Windows Media Connect Overview</title><link>http://blogs.msdn.com/alan_ludwig/archive/2006/01/18/WMCOverview.aspx</link><pubDate>Wed, 18 Jan 2006 18:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:514316</guid><dc:creator>Alan Ludwig</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alan_ludwig/comments/514316.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alan_ludwig/commentrss.aspx?PostID=514316</wfw:commentRss><description>&lt;P&gt;The big day has arrived.&amp;nbsp; You unwrap that shiny new beautiful Digital Media Receiver (DMR) or Xbox 360.&amp;nbsp; The smell of new plastic and Styrofoam lingers in the air as you connect wire after wire (after wire, after wire) to your home entertainment system.&amp;nbsp; With an air of triumph you make that last connection, go to the PC, and nothing works.&amp;nbsp; Well, now what?&lt;/P&gt;
&lt;P&gt;Here’s the unfortunate truth about WMC.&amp;nbsp; When it works it is great.&amp;nbsp; When it doesn’t work it is just too hard to figure out what went wrong.&amp;nbsp; As simple an idea as a network media server is, there are still lots of complicated parts that all have to work together.&amp;nbsp; Let’s trace the path from the PC to the DMR and over the next several posts try to help narrow down where the problem could be.&lt;/P&gt;
&lt;P&gt;Windows Media Connect User Interface (wmccfg.exe)&lt;BR&gt;Windows Media Connect Service (wmccds.exe)&lt;BR&gt;Universal Plug and Play&lt;BR&gt;The Network Stack (TCP/IP, Network Drivers, etc).&lt;BR&gt;The Firewall&lt;BR&gt;The cable from the PC to the Router&lt;BR&gt;The Router&lt;BR&gt;The cable from the Router to the DMR&lt;BR&gt;The DMR&lt;/P&gt;
&lt;P&gt;On the first day, I’ll tackle the easy stuff, namely the cables.&amp;nbsp; If you use your network card to connect to the internet via a router and you can browse external web pages, you can be confident that the cable from the PC to the Router and the network stack are working.&amp;nbsp; You can often use this test on your DMR too.&amp;nbsp; If you can listen to internet radio (for a DMR) or get to Xbox Live, then you can eliminate the cable as the source of the trouble.&lt;/P&gt;
&lt;P&gt;So, what would it look like if it was a cable problem?&amp;nbsp; Basic network connectivity would fail.&amp;nbsp; If you check the IP address you’d have an IP in the range for “Auto IP”, something like 169.xxx.xxx.xxx.&amp;nbsp; When I see this it means that my computer or DMR wasn’t able to get an IP address from an outside source (usually the router).&amp;nbsp; If the router is plugged in and turned on then it will usually pass out IP addresses in the Private IP range 192.168.xxx.xxx.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Of course, I’m not going to spend a lot of time explaining how to fix this problem.&amp;nbsp; If you can’t get basic network connectivity working, then you can’t read this post anyway.&amp;nbsp;[:)] The strategies are fairly simple here and include things like checking the cables, unplug the router or modem, reboot the computer, etc.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;From here out all of our troubleshooting will assume that basic physical connectivity is sound and that the basic network stack is in place and works without errors.&amp;nbsp; It isn’t much, but we’ve got to start someplace.&amp;nbsp; Next time we’ll look at installation issues.&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=514316" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alan_ludwig/archive/tags/WMC/default.aspx">WMC</category></item><item><title>Resume</title><link>http://blogs.msdn.com/alan_ludwig/archive/2006/01/17/513804.aspx</link><pubDate>Tue, 17 Jan 2006 18:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:513804</guid><dc:creator>Alan Ludwig</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/alan_ludwig/comments/513804.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alan_ludwig/commentrss.aspx?PostID=513804</wfw:commentRss><description>&lt;P&gt;I started working on WMC 2.0 in the fall of 2004 just as it was coming together as a project.&amp;nbsp; WMC v1 had just been shipped and we were trying to figure out what the v2 would look like.&amp;nbsp; Over the course of the next year I spent most of my time on WMC v2 with the remainder largely on the Vista version of the same product.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;During that time I also started working in the internet community that had begun using version 1.&amp;nbsp; It stated as a few posts on&amp;nbsp; the microsoft.public.windowmedia.devices newsgroup.&amp;nbsp; Over the course of a few months it went from nothing to several posts a day.&amp;nbsp; It was very exciting to work directly with the end-users of the product, and I was hooked.&amp;nbsp;Newsgroups are great, but I just don’t think they are accessible for most people. To grow the community more we needed web forums.&amp;nbsp; Diane, one of the Digital Media MVP’s stepped up to the plate and launched &lt;A href="http://wmcplayer.com"&gt;http://wmcplayer.com&lt;/A&gt; and its associated web forums.&amp;nbsp; So far, this forum probably contains the most detailed technical information about WMC anywhere.&amp;nbsp; Right now there are still well under 1000 total posts on the forum, so a determined read might still be able to read everything.More recently, I started posting on the forums at &lt;A href="http://www.xbox.com"&gt;http://www.xbox.com&lt;/A&gt;.&amp;nbsp; With the thousands and thousands of Xbox 360’s out there the hardware base for WMC has just exploded, and with it the number of people who are depending on the community to help them figure WMC out.&lt;/P&gt;
&lt;P&gt;I find now that after doing this for nearly a year and a half I’m beginning to post the same stuff over and over.&amp;nbsp; I’ve got quite a little list of my favorite posts.&amp;nbsp; The problem I see there is that once you find one of my little posts, you can’t really find the next one.&amp;nbsp; It may be on the newsgroup, or the web-forum, or the Xbox forums.&amp;nbsp; I’m hoping that by doing a bit of blogging that I can collect all of my hard-earned knowledge in a one place and make it easier to find (and easier to refer to).&lt;/P&gt;
&lt;P&gt;Regards, &lt;/P&gt;
&lt;P&gt;Alan Ludwig&lt;BR&gt;Lead Software Development Engineer&lt;BR&gt;Verifier Technologies&lt;BR&gt;Windows Core Test Engineering and Tools&lt;BR&gt;Microsoft&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=513804" width="1" height="1"&gt;</description></item></channel></rss>