<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Paul Tallett's Web Log</title><subtitle type="html" /><id>http://blogs.msdn.com/ptallett/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ptallett/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/ptallett/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2006-03-02T22:39:00Z</updated><entry><title>Communicate across multiple Silverlight 2 instances in c-sharp</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ptallett/archive/2008/07/05/communicate-across-multiple-silverlight-2-instances-in-c-sharp.aspx" /><id>http://blogs.msdn.com/ptallett/archive/2008/07/05/communicate-across-multiple-silverlight-2-instances-in-c-sharp.aspx</id><published>2008-07-05T19:19:00Z</published><updated>2008-07-05T19:19:00Z</updated><content type="html">&lt;P&gt;I recently was writing a video player in Silverlight 2 beta 2 and there was a requrement that when you hit PLAY on one player, all the others stopped. That's fine, I thought, I'll just create a static list and add each instance to the list in the constructor. Only trouble was, this didn't work because these were different instances of Silverlight on the page, so different CLR instances. What I needed was a way to call across app domains between the Silverlight instances. What I did was pretty clean so I thought I'd post about it.&lt;/P&gt;
&lt;P&gt;I registered my class as JavaScript callable, then called it from C# using the Silverlight bridge!&lt;/P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;private&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;const&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; player_name = &lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;"My_Silverlight_VideoPlayer"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;/FONT&gt;&lt;BR&gt;private&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;static&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;int&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; instanceCount = 0;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;private&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;int&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; thisInstance = 0;&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Player()&lt;BR&gt;{&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.thisInstance = ++instanceCount;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterPlayerWithJavaScript();&lt;BR&gt;&lt;FONT size=2&gt;}&lt;FONT size=2&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;// We want to call methods on all other instances of this class (eg to Pause all videos on a&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;// page when we are playing). However, the other players are in other instances of Silverlight&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;// controls which each host their own instance of the CLR, so we can't use statics. Instead&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;// we register ourself with JavaScript interop (which is global to the HTML page), and call the&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;// other instances through interop. See the GetPlayers() function below.&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;private&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; RegisterPlayerWithJavaScript()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;for&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;int&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; i = 0; i &amp;lt; 100; i++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; name = player_name + i.ToString();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;object&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; obj = &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;HtmlPage&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.Window.GetProperty(name); &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;// Look for an unused name&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; (obj == &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;null&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;BR&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;HtmlPage&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.Window.SetProperty(name, &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;HtmlPage&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.Plugin.Id + &lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;","&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; + &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;this&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.thisInstance.ToString());&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;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;HtmlPage&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.RegisterScriptableObject(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;"Player"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; + &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;this&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.thisInstance.ToString(), &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;this&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&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; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;break&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;private&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;List&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;ScriptObject&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;gt; GetPlayers(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;bool&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; includeMe)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;// return all players on the page&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;List&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;ScriptObject&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;gt; list = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;List&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;ScriptObject&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;gt;();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;for&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;int&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; i = 0; i &amp;lt; 100; i++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; name = player_name + i.ToString();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; token = (&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;HtmlPage&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.Window.GetProperty(name);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; (token == &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;null&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;BR&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;break&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;[] parts = token.Split(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;','&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; id = parts[0];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; instance = parts[1];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; (includeMe || id != &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;HtmlPage&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.Plugin.Id || instance != &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;this&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.thisInstance.ToString())&lt;BR&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;ScriptObject&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; that = (&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;ScriptObject&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;HtmlPage&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.Window.Eval(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;"document.getElementById('"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; + id + &lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;"').Content.Player"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; + instance);&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; list.Add(that);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;return&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; list;&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size=2&gt;&lt;FONT size=2&gt;
&lt;P&gt;[&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;ScriptableMember&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;]&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Pause()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; playerMediaElement.Pause();&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;// Usage - Pause all the players on the page (not including us)&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;foreach&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;ScriptObject&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; that &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;in&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; GetPlayers(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;false&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;))&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; that.Invoke(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;"Pause"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;}&lt;/P&gt;
&lt;P&gt;Cheers,&lt;BR&gt;Paul&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8693904" width="1" height="1"&gt;</content><author><name>ptallett</name><uri>http://blogs.msdn.com/members/ptallett.aspx</uri></author><category term="Silverlight Beta 2 communicate multiple singleton" scheme="http://blogs.msdn.com/ptallett/archive/tags/Silverlight+Beta+2+communicate+multiple+singleton/default.aspx" /></entry><entry><title>Silverlight 2 Beta 2 ClientAccessPolicy.xml</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ptallett/archive/2008/06/07/silverlight-2-beta-2-clientaccesspolicy-xml.aspx" /><id>http://blogs.msdn.com/ptallett/archive/2008/06/07/silverlight-2-beta-2-clientaccesspolicy-xml.aspx</id><published>2008-06-07T14:40:00Z</published><updated>2008-06-07T14:40:00Z</updated><content type="html">&lt;P&gt;Thanks to Simon Middlemiss, you need a new ClientAccessPolicy.xml file with Silverlight 2 Beta 2 if you are going to access web services. Also your URL MUST not contain underscores (eg MyApp_Web was the default for Beta 1). Just rename your website in your project file.&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;?&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;xml&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;version&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;1.0&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;encoding&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;utf-8&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;?&amp;gt;&lt;BR&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;access-policy&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;cross-domain-access&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;policy&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&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; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;allow-from&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;http-request-headers&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;*&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;domain&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;uri&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;*&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;/&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;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;allow-from&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&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;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;grant-to&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;resource&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;path&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;include-subpaths&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;true&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;/&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;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;grant-to&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;policy&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;cross-domain-access&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;access-policy&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Cheers,&lt;BR&gt;Paul&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8579874" width="1" height="1"&gt;</content><author><name>ptallett</name><uri>http://blogs.msdn.com/members/ptallett.aspx</uri></author><category term="Silverlight Beta 2" scheme="http://blogs.msdn.com/ptallett/archive/tags/Silverlight+Beta+2/default.aspx" /></entry><entry><title>XBox 360 How to tell 65 nanometer (falcon) from older boxes</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ptallett/archive/2008/03/16/xbox-360-how-to-tell-65-nanometer-falcon-from-older-boxes.aspx" /><id>http://blogs.msdn.com/ptallett/archive/2008/03/16/xbox-360-how-to-tell-65-nanometer-falcon-from-older-boxes.aspx</id><published>2008-03-16T19:52:00Z</published><updated>2008-03-16T19:52:00Z</updated><content type="html">&lt;P&gt;I just bought a new XBox 360 Premium yesterday (15-March-2008) and when I got it home I thought I'd make sure I had the newer Falcon 65 nanometer technology unit. I found an article which said shine a flashlight into the bottom and if you can see a copper heat pipe you have the old one, and it turned out I did! My box had a manufacturing date of 2006 so I was pretty miffed and took it back to the shop (Comet) and complained about them selling two year old stock. To their credit, they took it back even though I had opened it and they swapped it for the newer model. The cardboard box has a little flap in it so you can see the manufacturing date, and you want later than 9/2007, but an even easier way to see is on the outside of the box it says HDMI (yes even for the premium), and the power rating is 175 watt instead of 208 watt for the older model. This is also displayed on a sticker on the outside of the box.&lt;/P&gt;
&lt;P&gt;Why should you care? Well the new one uses less power, is noticebly quieter and has the HDMI port off the Elite, which even if you don't need it, is going to make it easier to sell on eBay when you come to get rid.&lt;/P&gt;
&lt;P&gt;Cheers,&lt;BR&gt;Paul&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8266138" width="1" height="1"&gt;</content><author><name>ptallett</name><uri>http://blogs.msdn.com/members/ptallett.aspx</uri></author><category term="XBox 360 nanometer" scheme="http://blogs.msdn.com/ptallett/archive/tags/XBox+360+nanometer/default.aspx" /></entry><entry><title>Parrot Bluetooth Sound System Speakers</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ptallett/archive/2007/12/08/parrot-bluetooth-sound-system-speakers.aspx" /><id>http://blogs.msdn.com/ptallett/archive/2007/12/08/parrot-bluetooth-sound-system-speakers.aspx</id><published>2007-12-08T16:24:00Z</published><updated>2007-12-08T16:24:00Z</updated><content type="html">&lt;P&gt;I recently bought a Parrot Bluetooth Sound System which is a pair of speakers with their own amplifiers, connected to the PC with Bluetooth.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;A href="http://www.parrot.com/usa/products/parrotsoundsystem"&gt;http://www.parrot.com/usa/products/parrotsoundsystem&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;There don't seem to be many reviews about this product on the net&amp;nbsp;so I thought I'd blog about it.&lt;/P&gt;
&lt;P&gt;They are pretty pricey in my opinion - £249, but I couldn't find a comparable competing device so I went for it. After unpacking them I really struggled to get them to pair with my PC. The manual is really poor and basically just says follow the on-screen instructions. They would appear to pair, but then when I went back into "Bluetooth Devices" they had disappeared. I had Vista so thought this might be an issue and I was using my own Bluetooth dongle, so after two weeks on and off of trying, I bought a Parrot Bluetooth Dongle. This made no difference at all. Eventually after trying to pair the speakers with my phone, I realised you need to use the passcode "0000" to pair with the computer too, and suddenly I was in business.&lt;/P&gt;
&lt;P&gt;Sound quality was not bad, but not up to hi-fi standards - more bass than PC speakers, but sounds like its playing through a cardboard tube. Just about acceptable. I was using them to connect to a Windows Media Center which is our main TV, so watching TV I discovered the first problem - the sound is delayed slightly which gives lipsync problems when watching video. This was pretty unbearable, so I decided I'd only use them for listening to music (the built-in speakers in my MCE are fine for TV). It was then that I discovered the second problem - after a few minutes listening, the left and right speaker get out of sync giving a sort of echo effect. I tried swapping the speakers left and right but that made it worse. This happened consistently all the time I was using them over the next week. The third problem is that you need to reconnect the speakers every time you boot the PC which is pretty terrible for a supposedly consumer device like MCE.&lt;/P&gt;
&lt;P&gt;So I sent them back and got a refund. I regard this product to be seriously flawed, and recommend you don't buy it. To be fair, I think they are intended to be connected to a phone, but I still think you'd get the echo effect.&lt;/P&gt;
&lt;P&gt;Cheers,&lt;BR&gt;Paul&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6704564" width="1" height="1"&gt;</content><author><name>ptallett</name><uri>http://blogs.msdn.com/members/ptallett.aspx</uri></author><category term="Bluetooth Speaker Parrot" scheme="http://blogs.msdn.com/ptallett/archive/tags/Bluetooth+Speaker+Parrot/default.aspx" /></entry><entry><title>Silverlight production site T5M goes live!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ptallett/archive/2007/12/08/silverlight-production-site-t5m-goes-live.aspx" /><id>http://blogs.msdn.com/ptallett/archive/2007/12/08/silverlight-production-site-t5m-goes-live.aspx</id><published>2007-12-08T16:17:00Z</published><updated>2007-12-08T16:17:00Z</updated><content type="html">&lt;P&gt;Our team has been busy building a new website &lt;A href="http://www.t5m.com/"&gt;www.t5m.com&lt;/A&gt; that went live last week!&lt;/P&gt;
&lt;P&gt;I think it is pretty cool, using Silverlight 1.0 and about 4000 lines of Javascript plus lots of ASP.NET and Ajax. Its a video magazine that posts interview snippets with celebreties like James Blunt and Natalie Imbruglia. We've used Silverlight to build a "Galactic Browser" that allows you to get "pleasurably lost" in the collection of videos.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Cheers,&lt;BR&gt;Paul&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6704327" width="1" height="1"&gt;</content><author><name>ptallett</name><uri>http://blogs.msdn.com/members/ptallett.aspx</uri></author><category term="WPF" scheme="http://blogs.msdn.com/ptallett/archive/tags/WPF/default.aspx" /><category term="Silverlight" scheme="http://blogs.msdn.com/ptallett/archive/tags/Silverlight/default.aspx" /></entry><entry><title>This copy of Windows must be activated with Microsoft before you can proceed</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ptallett/archive/2007/01/27/this-copy-of-windows-must-be-activated-with-microsoft-before-you-can-proceed.aspx" /><id>http://blogs.msdn.com/ptallett/archive/2007/01/27/this-copy-of-windows-must-be-activated-with-microsoft-before-you-can-proceed.aspx</id><published>2007-01-27T19:48:00Z</published><updated>2007-01-27T19:48:00Z</updated><content type="html">&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;There seems to be a bug in Windows Server 2003 R2 that if you try to&amp;nbsp;repair your system after hardware changes&amp;nbsp;you get the error message "This copy of Windows must be activated with Microsoft before you can proceed" when you try and login, but when you try and activate, Windows just logs you off.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;This seems to be caused by having IE7 installed, if you look in the error log you will see that msoobe.exe has crashed:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;Reporting queued error: faulting application msoobe.exe, version 5.2.3790.0, faulting module urlmon.dll, version 6.0.3790.2612, fault address 0x0000618c.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Fault bucket 338988625.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;I got around this by repairing with a Windows 2003 Enterprise Edition SP1 disk (not R2).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;You may be able to get round this by uninstalling IE7.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Cheers,&lt;BR&gt;Paul&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1543459" width="1" height="1"&gt;</content><author><name>ptallett</name><uri>http://blogs.msdn.com/members/ptallett.aspx</uri></author><category term="Windows 2003 Server Activation" scheme="http://blogs.msdn.com/ptallett/archive/tags/Windows+2003+Server+Activation/default.aspx" /></entry><entry><title>Ultimate Vista Laptop/Ultimate WPF Laptop</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ptallett/archive/2007/01/24/ultimate-vista-laptop-ultimate-wpf-laptop.aspx" /><id>http://blogs.msdn.com/ptallett/archive/2007/01/24/ultimate-vista-laptop-ultimate-wpf-laptop.aspx</id><published>2007-01-24T11:55:00Z</published><updated>2007-01-24T11:55:00Z</updated><content type="html">&lt;P&gt;Hi!&lt;/P&gt;
&lt;P&gt;Only 6 months between blog posts! Sorry, I've been pretty maxxed.&lt;/P&gt;
&lt;P&gt;I've been hunting around for the utlimate laptop to run WPF applications on Vista. We have produced some pretty heavy WPF demos in the UK that make a lot of use of WPF 3D, for example the British Library&amp;nbsp;application being used in the Vista launch. These are fine on your average desktop machine, but almost every laptop I've tried falls short. Most laptops have an on board graphics chip and the Vista drivers for laptops seem to be a bit buggy especially when playing video morphed onto 3D surfaces.&lt;/P&gt;
&lt;P&gt;So about a year ago I started the hunt for a laptop with a good graphics card that was sufficiently mainstream that the Vista drivers would handle all the advanced WPFness we throw at them. Well I think the search is over. The HP nc8430 is the only laptop I've seen from a mainstream vendor to sport the ATI X1600 graphics card. The Vista drivers for this are rock solid and reports are that this is the ultimate laptop for developing WPF applications.&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;A title=http://h10010.www1.hp.com/wwpc/uk/en/sm/WF25a/21675-283229-283229-283229-12434682-12397664.html href="http://h10010.www1.hp.com/wwpc/uk/en/sm/WF25a/21675-283229-283229-283229-12434682-12397664.html"&gt;http://h10010.www1.hp.com/wwpc/uk/en/sm/WF25a/21675-283229-283229-283229-12434682-12397664.html&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Cheers,&lt;BR&gt;Paul&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1520579" width="1" height="1"&gt;</content><author><name>ptallett</name><uri>http://blogs.msdn.com/members/ptallett.aspx</uri></author><category term="WPF Laptop Vista" scheme="http://blogs.msdn.com/ptallett/archive/tags/WPF+Laptop+Vista/default.aspx" /></entry><entry><title>Microsoft Da Vinci Code</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ptallett/archive/2006/06/17/635071.aspx" /><id>http://blogs.msdn.com/ptallett/archive/2006/06/17/635071.aspx</id><published>2006-06-17T11:04:00Z</published><updated>2006-06-17T11:04:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Arial size=2&gt;Recently had this very funny Microsoft take on the Da Vinci code forwarded to me. It is quite long but very funny.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A title=http://www.proudlyserving.com/archives/2006/06/the_microsoft_c_6.html href="http://www.proudlyserving.com/archives/2006/06/the_microsoft_c_6.html"&gt;&lt;FONT face=Arial size=2&gt;http://www.proudlyserving.com/archives/2006/06/the_microsoft_c_6.html&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;No I don't know anything about 8/2110!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Cheers,&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Paul&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=635071" width="1" height="1"&gt;</content><author><name>ptallett</name><uri>http://blogs.msdn.com/members/ptallett.aspx</uri></author></entry><entry><title>Insufficient System Resources to complete the requested API</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ptallett/archive/2006/05/18/600907.aspx" /><id>http://blogs.msdn.com/ptallett/archive/2006/05/18/600907.aspx</id><published>2006-05-18T15:18:00Z</published><updated>2006-05-18T15:18:00Z</updated><content type="html">&lt;P&gt;If you get this error when you try and hibernate your laptop, chances are you have 2GB of RAM or more and you've hit a Windows bug. Try searching for the following hotfix and installing it.&lt;/P&gt;
&lt;P&gt;WindowsXP-KB909095-x86-ENU.exe&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=600907" width="1" height="1"&gt;</content><author><name>ptallett</name><uri>http://blogs.msdn.com/members/ptallett.aspx</uri></author></entry><entry><title>Printing in WPF (XPS)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ptallett/archive/2006/05/11/595612.aspx" /><id>http://blogs.msdn.com/ptallett/archive/2006/05/11/595612.aspx</id><published>2006-05-11T23:03:00Z</published><updated>2006-05-11T23:03:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Arial size=2&gt;I wanted to print a visual out to an XPS file on a recent project, and couldn't find the code to do it. Anyway I eventually found it so I thought I'd post it. You need references to ReachFramework and System.Printing.&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;&lt;FONT color=#0000ff&gt;using&lt;/FONT&gt; System.Windows.Xps.Packaging;&lt;BR&gt;&lt;FONT color=#0000ff&gt;using&lt;/FONT&gt; System.Windows.Xps;&lt;BR&gt;&lt;FONT color=#008080&gt;Package&lt;/FONT&gt; pckg = &lt;FONT color=#008080&gt;Package&lt;/FONT&gt;.Open(&lt;FONT color=#800000&gt;@"c:\x.xps"&lt;/FONT&gt;, &lt;FONT color=#008080&gt;FileMode&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;.Create); &lt;BR&gt;&lt;FONT color=#008080&gt;XpsDocument&lt;/FONT&gt; xpsDoc = &lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; &lt;FONT color=#008080&gt;XpsDocument&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;(pckg);&lt;BR&gt;&lt;FONT color=#008080&gt;XpsDocumentWriter&lt;/FONT&gt; xpsWriter = &lt;FONT color=#008080&gt;XpsDocument&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;.CreateXpsDocumentWriter(xpsDoc);&lt;BR&gt;xpsWriter.Write(visual&lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;);&lt;BR&gt;xpsDoc.Close();&lt;BR&gt;pckg.Close();&lt;BR&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=595612" width="1" height="1"&gt;</content><author><name>ptallett</name><uri>http://blogs.msdn.com/members/ptallett.aspx</uri></author></entry><entry><title>New CodeProject article</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ptallett/archive/2006/05/11/595604.aspx" /><id>http://blogs.msdn.com/ptallett/archive/2006/05/11/595604.aspx</id><published>2006-05-11T22:42:00Z</published><updated>2006-05-11T22:42:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Arial size=2&gt;I just finished an article on dragging and dropping files into Windows Explorer that I've posted on CodeProject. I've been a member of CodeProject for years and I reckon its a great place to get code.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;I wanted a sample that allowed you to drag and drop files in either direction with programs like Explorer or Outlook and it had to be C#. I searched for ages on the web and could find nothing, so when I'd figured it all out I posted the result.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.codeproject.com/csharp/Explorer_Drag_Drop.asp"&gt;&lt;FONT face=Arial size=2&gt;http://www.codeproject.com/csharp/Explorer_Drag_Drop.asp&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=595604" width="1" height="1"&gt;</content><author><name>ptallett</name><uri>http://blogs.msdn.com/members/ptallett.aspx</uri></author></entry><entry><title>BBC iMP at MIX 06</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ptallett/archive/2006/04/08/571524.aspx" /><id>http://blogs.msdn.com/ptallett/archive/2006/04/08/571524.aspx</id><published>2006-04-08T17:05:00Z</published><updated>2006-04-08T17:05:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Got involved with building a WPF application to show off the BBC's Integrated Media Player (iMP). The idea is that if you miss a TV program on the BBC, you can download it to your PC and watch it up to a week afterwards.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;The project was a real success despite numerous setbacks and Bill Gates and Ashley Highfield (Director of New Media at the BBC) showed the demo at the&amp;nbsp;MIX 06 conference in Las Vegas. I was backstage pressing all the buttons - very stressful!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;It was a real eductaion seeing how much kit is used in these events - the backstage area looked like a trailer park. All the equipment is duplicated with a backup so even the projectors that display the screens are actually two projectors accurately focussed so you only see one image. If one blows then the other just carries on.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;All of the machines are duplicated too with a high quality KVM switch to switch over to backup if needed. During Scott Guthrie's talk where he was typing code live into the machine, another guy was backstage typing the same code into the backup machine in case the main machine went down! Amazing.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Yes, we used the backup on our demo - when I came to play the high-def video the Vista Media Center machine froze so I quickly switched to backup. There's a 12 second gap if you watch the video (we start at about 39 minutes in):&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/winme/0603/27334/Mix06_BillG_MBR.asx"&gt;On-Demand Webcast&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=571524" width="1" height="1"&gt;</content><author><name>ptallett</name><uri>http://blogs.msdn.com/members/ptallett.aspx</uri></author></entry><entry><title>HMV Music download</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ptallett/archive/2006/03/05/544121.aspx" /><id>http://blogs.msdn.com/ptallett/archive/2006/03/05/544121.aspx</id><published>2006-03-06T00:35:00Z</published><updated>2006-03-06T00:35:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Arial size=2&gt;I've just finished a project to do a music download service (a bit like iTunes) for HMV. HMV are one of the largest music retailers in the UK, with a strong presence in Japan and Canada.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;It was quite a lot of fun, although very short timescales. We started Jan 2005, and went live Sept 2005. We've done a couple of releases since then to tidy a few things up and it is looking quite nice now. You can download or look at a screenshot on:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.hmv.co.uk/hmvweb/navigate.do?pPageID=1530"&gt;&lt;FONT face=Arial size=2&gt;http://www.hmv.co.uk/hmvweb/navigate.do?pPageID=1530&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;The app is .NET 1.1 WinForms using Windows Media SDKs and DRM - I think the look is pretty cool. The back-end is .NET 2.0 ASP.NET and web services. There was also a lot of portable media player integration work (eg Creative Zen Micro, iRiver etc).&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;We just launched the HMV Windows Media Player 10 online store - if you go to WMP10 in the UK you will see HMV listed now. Its the same website as used in the WinForms app, tweaked for WMP10 usage.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=544121" width="1" height="1"&gt;</content><author><name>ptallett</name><uri>http://blogs.msdn.com/members/ptallett.aspx</uri></author></entry><entry><title>MediaElement not displaying video</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ptallett/archive/2006/03/02/542482.aspx" /><id>http://blogs.msdn.com/ptallett/archive/2006/03/02/542482.aspx</id><published>2006-03-03T01:42:00Z</published><updated>2006-03-03T01:42:00Z</updated><content type="html">&lt;P&gt;I've been working with WPF (Avalon) recently and found some strangeness with the MediaElement control not displaying any video, or displaying a black screen or throwing a COM exception.&lt;/P&gt;
&lt;P&gt;Turns out you need to update dxva2.dll and evr.dll as they are not properly updated by the WPF install.&lt;/P&gt;
&lt;P&gt;Best bet is to delete c:\windows\system\dxva2.dll and evr.dll and then repair your WPF installation by running the setup again.&lt;/P&gt;
&lt;P&gt;You need January 06 dates on these files for Feb CTP of WPF.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=542482" width="1" height="1"&gt;</content><author><name>ptallett</name><uri>http://blogs.msdn.com/members/ptallett.aspx</uri></author></entry><entry><title>30" Dell Screen</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/ptallett/archive/2006/03/02/542479.aspx" /><id>http://blogs.msdn.com/ptallett/archive/2006/03/02/542479.aspx</id><published>2006-03-03T01:39:00Z</published><updated>2006-03-03T01:39:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Arial size=2&gt;I lashed out on a 30" Dell screen the other day. It is just great, and absolutely enormous!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;I still have some slight sparkling green dots on the display when showing some images, but I'm working with ATI to get that resolved.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;The screen has a res of 2560x1600 and I think it is related to the Apple Cinema display.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www1.us.dell.com/content/topics/topic.aspx/global/products/monitors/topics/en/monitor_3007wfp?c=us&amp;amp;l=en&amp;amp;s=gen"&gt;&lt;FONT face=Arial size=2&gt;http://www1.us.dell.com/content/topics/topic.aspx/global/products/monitors/topics/en/monitor_3007wfp?c=us&amp;amp;l=en&amp;amp;s=gen&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=542479" width="1" height="1"&gt;</content><author><name>ptallett</name><uri>http://blogs.msdn.com/members/ptallett.aspx</uri></author></entry></feed>