<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6289231884114624436</id><updated>2024-09-06T13:44:55.733-07:00</updated><category term=".Net"/><category term="C#"/><category term="Plugins"/><category term="WCF"/><category term="network protocol"/><category term="Android"/><category term="MonoDroid"/><category term="Playon"/><category term="SQLite"/><category term="WPF"/><category term="Windows Media Center"/><category term="XBMC"/><title type='text'>AUC Software Solutions Blog</title><subtitle type='html'>Programmer Notes</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://aucsoftwaresolutions.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/00276034909677348282</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6289231884114624436.post-9123266030150401360</id><published>2013-04-01T19:39:00.003-07:00</published><updated>2013-04-01T19:40:36.514-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="SQLite"/><title type='text'></title><content type='html'>&lt;br /&gt;
&lt;h2 style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-size: 19px; font-weight: normal; margin-bottom: 0.6em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0.17em; padding-top: 0.5em; width: auto;&quot;&gt;
&lt;span class=&quot;mw-headline&quot; id=&quot;Using_SQLite_with_C.23&quot;&gt;Using SQLite with C#&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;font-family: serif; line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;
1. Include System.Data.SQLite.dll into the project&lt;/div&gt;
&lt;div style=&quot;font-family: serif; line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;
2. Optional, use IDE for SQLite (&lt;a class=&quot;external free&quot; href=&quot;http://sqliteadmin.orbmu2k.de/&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: underline;&quot;&gt;http://sqliteadmin.orbmu2k.de/&lt;/a&gt;)&lt;/div&gt;
&lt;div style=&quot;font-family: serif; line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;
&lt;b&gt;Tutorials&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: serif; line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;
&lt;a class=&quot;external free&quot; href=&quot;http://brennydoogles.wordpress.com/2010/02/26/using-sqlite-with-csharp/&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;http://brennydoogles.wordpress.com/2010/02/26/using-sqlite-with-csharp/&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: serif; line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;
&lt;a class=&quot;external free&quot; href=&quot;http://www.mikeduncan.com/sqlite-on-dotnet-in-3-mins/&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;http://www.mikeduncan.com/sqlite-on-dotnet-in-3-mins/&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://aucsoftwaresolutions.blogspot.com/feeds/9123266030150401360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2013/04/using-sqlite-with-c-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/9123266030150401360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/9123266030150401360'/><link rel='alternate' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2013/04/using-sqlite-with-c-1.html' title=''/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/00276034909677348282</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6289231884114624436.post-1279429654371046115</id><published>2013-04-01T18:41:00.003-07:00</published><updated>2013-04-01T18:41:57.228-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Plugins"/><category scheme="http://www.blogger.com/atom/ns#" term="XBMC"/><title type='text'></title><content type='html'>&lt;div id=&quot;bodyContent&quot; style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; color: black; font-family: sans-serif; font-size: 0.8em; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.5em; orphans: 2; position: relative; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; width: 1071px; word-spacing: 0px;&quot;&gt;
&lt;h2 style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-size: 19px; font-weight: normal; margin-bottom: 0.6em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0.17em; padding-top: 0.5em; width: auto;&quot;&gt;
&lt;/h2&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Submitting add-ons to a central XBMC repository - Notes&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: small; font-weight: normal;&quot;&gt;Install git on your machine (&lt;/span&gt;&lt;span style=&quot;font-size: small; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i style=&quot;font-size: medium; font-weight: normal;&quot;&gt;&lt;a href=&quot;http://git-scm.com/&quot;&gt;http://git-scm.com/&lt;/a&gt;)&lt;/i&gt;&lt;/h2&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;1.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small; font-weight: normal;&quot;&gt;Check in the add-on solution into GitHub&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&amp;nbsp;2. Subscribe to the XBMC Add-ons Mailing List&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/xbmc-addons&quot;&gt;https://lists.sourceforge.net/lists/listinfo/xbmc-addons&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&amp;nbsp;3. Send email to&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;a href=&quot;mailto:xbmc-addons@lists.sourceforge.net&quot;&gt;xbmc-addons@lists.sourceforge.net&lt;/a&gt;&lt;/span&gt;&lt;a href=&quot;mailto:xbmc-addons-request@lists.sourceforge.net&quot; style=&quot;font-weight: normal;&quot;&gt;xbmc-addons-request@lists.sourceforge.net&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;u&gt;Instructions how to submit xbmc add-on to a central xbmc repository:&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Example of the Email

&lt;/div&gt;
&lt;pre class=&quot;brush: html &quot;&gt; 

Subject: [Xbmc-addons] [Git Pull] XBMC-[name]Plugin
addon -   plugin.[name]
version - 1.2.6
url - git://github.com/../[name].git
branch - master
xbmc version - dharma 10.1&amp;nbsp;&lt;/pre&gt;
&lt;pre class=&quot;brush: html &quot;&gt;&amp;nbsp;&lt;/pre&gt;
&lt;b&gt;Required&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
1) No .pyc files.&lt;br /&gt;
&lt;br /&gt;
2) &amp;nbsp;Add English summary and description.&lt;br /&gt;
you can use
&amp;lt;summary lang=&quot;en&quot;&amp;gt;..&amp;lt;/summary&amp;gt; and &amp;lt;summary lang=&quot;ru&quot;&amp;gt;...&amp;lt;/summary&amp;gt;&lt;br /&gt;
(and same for description)&lt;br /&gt;
&lt;br /&gt;
3) Add LICENSE.txt&lt;br /&gt;
&lt;br /&gt;
4) See&lt;br /&gt;
&lt;a href=&quot;http://wiki.xbmc.org/index.php?title=Add-ons_for_XBMC_%28Developement%29&quot;&gt;http://wiki.xbmc.org/index.php?title=Add-ons_for_XBMC_%28Developement%29&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
5) Use an ID compatible with the convention, i.e &amp;nbsp;plugin.somthing.something .&lt;br /&gt;
This is the place holder at the add-on in the repository.</content><link rel='replies' type='application/atom+xml' href='http://aucsoftwaresolutions.blogspot.com/feeds/1279429654371046115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2013/04/submitting-add-ons-to-central-xbmc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/1279429654371046115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/1279429654371046115'/><link rel='alternate' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2013/04/submitting-add-ons-to-central-xbmc.html' title=''/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/00276034909677348282</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6289231884114624436.post-8848478610382681808</id><published>2013-03-31T16:50:00.000-07:00</published><updated>2016-05-26T17:59:25.979-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Playon"/><category scheme="http://www.blogger.com/atom/ns#" term="Plugins"/><title type='text'></title><content type='html'>&lt;h2&gt;
PlayOn Plug-In -&amp;nbsp;&lt;span style=&quot;font-family: serif;&quot;&gt;Developer Notes&lt;/span&gt;&amp;nbsp;&lt;/h2&gt;
&lt;div id=&quot;bodyContent&quot; style=&quot;font-family: sans-serif; font-size: 0.8em; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.5em; position: relative; text-indent: 0px; text-transform: none; white-space: normal; width: 1071px; word-spacing: 0px;&quot;&gt;
&lt;div style=&quot;color: black; margin: 0.4em 0px 0.5em;&quot;&gt;
&lt;div style=&quot;line-height: 1.5em;&quot;&gt;
&lt;span style=&quot;line-height: 1.5em;&quot;&gt;The plugin was written in C# with &amp;nbsp;PlayOn Plugin API&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 style=&quot;background-image: none; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-size: 19px; font-weight: normal; margin: 0px 0px 0.6em; overflow: hidden; padding-bottom: 0.17em; padding-top: 0.5em; width: auto;&quot;&gt;
&lt;span class=&quot;mw-headline&quot; id=&quot;Project_structure&quot;&gt;Project structure&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;color: black; line-height: 1.5em; margin: 0.4em 0px 0.5em;&quot;&gt;
&lt;b&gt;References&lt;/b&gt;&lt;/div&gt;
&lt;span style=&quot;color: #cccccc;&quot;&gt;Util.dll (v2.0.50727)

&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;color: black; line-height: 1.5em; margin: 0.4em 0px 0.5em;&quot;&gt;
&lt;b&gt;Web References&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;color: black; line-height: 1.5em; margin: 0.4em 0px 0.5em;&quot;&gt;
&lt;b style=&quot;line-height: 1.5em;&quot;&gt;Key classes&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;color: black;&quot;&gt;
&lt;span style=&quot;color: #cccccc;&quot;&gt;PlayOnPluginProvider&lt;/span&gt; - Contains the main logic that creates folders and loads the content&amp;nbsp;using old or new API.&lt;/div&gt;
&lt;div style=&quot;color: black;&quot;&gt;
&lt;span style=&quot;color: #cccccc;&quot;&gt;PlayOnPluginSettings&lt;/span&gt; - Contains the settings, those are visible when the pluging is open by playon.&lt;/div&gt;
&lt;div style=&quot;color: black; line-height: 1.5em; margin: 0.4em 0px 0.5em;&quot;&gt;
&lt;br /&gt;
&lt;b&gt;Plugin settings&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;color: black; line-height: 1.5em; margin: 0.4em 0px 0.5em;&quot;&gt;
PlayOnPluginSettings.Description - &quot;balalla&quot;&lt;/div&gt;
&lt;div style=&quot;color: black;&quot;&gt;
PlayOnPluginSettings.Name - &quot;CompanyName&quot;&lt;/div&gt;
&lt;div style=&quot;color: black;&quot;&gt;
PlayOnPluginProvider.Name - &quot;CompanyName&quot;&lt;/div&gt;
&lt;div style=&quot;color: black;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: black;&quot;&gt;
+ logo 

&lt;/div&gt;
&lt;h3 style=&quot;color: black;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;Build&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: black; line-height: 1.5em; margin: 0.4em 0px 0.5em;&quot;&gt;
Compile the plugin and rename the output &lt;i&gt;*.dll&lt;/i&gt; to &lt;i&gt;*.plugin&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: black; line-height: 1.5em; margin: 0.4em 0px 0.5em;&quot;&gt;
Copy *.plugin to&lt;/div&gt;
&lt;div style=&quot;color: black;&quot;&gt;
&lt;i style=&quot;color: #cccccc;&quot;&gt;C:\Program Files (x86)\MediaMall\plugins

&lt;/i&gt;&lt;/div&gt;
&lt;ul style=&quot;color: black; line-height: 1.5em; list-style-type: square; margin: 0.3em 0px 0px 1.5em; padding: 0px;&quot;&gt;
&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;This is automated in the project properties&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;Build Events&lt;/i&gt;, make sure to change the paths if required in order to compile&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;color: black;&quot;&gt;
&lt;u&gt;Pre-build event command line:&amp;nbsp;&lt;/u&gt;&lt;/div&gt;
&lt;div style=&quot;color: black;&quot;&gt;
&lt;span style=&quot;color:#cccccc;&quot;&gt;del $(TargetDir)[&lt;i&gt;name&lt;/i&gt;].plugin /F&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: black;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: black;&quot;&gt;
&lt;u&gt;Post-build event command line:&lt;/u&gt;&lt;/div&gt;
&lt;div style=&quot;color: black;&quot;&gt;
&lt;span style=&quot;color: #cccccc;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #cccccc;&quot;&gt;ren $(TargetDir)[&lt;i&gt;name&lt;/i&gt;].dll [&lt;i&gt;name&lt;/i&gt;].plugin&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: black;&quot;&gt;
&lt;span style=&quot;color: #cccccc;&quot;&gt;del &quot;C:\Program Files (x86)\MediaMall\plugins\[&lt;i&gt;name&lt;/i&gt;].plugin&quot;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: black;&quot;&gt;
&lt;span style=&quot;color: #cccccc;&quot;&gt;copy $(TargetDir)\[&lt;i&gt;name&lt;/i&gt;].plugin &quot;C:\Program Files (x86)\MediaMall\plugins&quot;

&lt;/span&gt;&lt;/div&gt;
&lt;h2 style=&quot;background-image: none; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-size: 19px; font-weight: normal; margin: 0px 0px 0.6em; overflow: hidden; padding-bottom: 0.17em; padding-top: 0.5em; width: auto;&quot;&gt;
&lt;span class=&quot;mw-headline&quot; id=&quot;Package&quot;&gt;Package&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;color: black; line-height: 1.5em; margin: 0.4em 0px 0.5em;&quot;&gt;
The ChannelPackager.exe will package *.plugin into *.pwn&lt;/div&gt;
&lt;h2 style=&quot;background-image: none; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-size: 19px; font-weight: normal; margin: 0px 0px 0.6em; overflow: hidden; padding-bottom: 0.17em; padding-top: 0.5em; width: auto;&quot;&gt;
&lt;span class=&quot;mw-headline&quot; id=&quot;Developer_Guide&quot;&gt;Developer Guide&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;color: black; line-height: 1.5em; margin: 0.4em 0px 0.5em;&quot;&gt;
Download the ChannelPackager from&lt;/div&gt;
&lt;div style=&quot;color: black;&quot;&gt;
&lt;a class=&quot;external free&quot; href=&quot;http://www.playon.tv/channel-store/developer-guide&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;http://www.playon.tv/channel-store/developer-guide&lt;/a&gt;

&lt;/div&gt;
&lt;div style=&quot;color: black; line-height: 1.5em; margin: 0.4em 0px 0.5em;&quot;&gt;
PlayOn Plugin API&lt;/div&gt;
&lt;div style=&quot;color: black;&quot;&gt;
&lt;a class=&quot;external free&quot; href=&quot;http://www.playon.tv/downloads/playon/plugins/api/docs/&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;http://www.playon.tv/downloads/playon/plugins/api/docs/&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aucsoftwaresolutions.blogspot.com/feeds/8848478610382681808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2013/03/playon-plug-in-developer-notes-plugin.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/8848478610382681808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/8848478610382681808'/><link rel='alternate' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2013/03/playon-plug-in-developer-notes-plugin.html' title=''/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/00276034909677348282</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6289231884114624436.post-6847231510105756989</id><published>2013-03-27T20:54:00.001-07:00</published><updated>2013-03-31T15:45:00.178-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="WCF"/><title type='text'>Timeouts in WCF service</title><content type='html'>I was getting my head around an exception I got after calling a method on my local WCF service:&lt;br /&gt;
&lt;br /&gt;
&lt;i style=&quot;color: blue;&quot;&gt;&quot;The request channel timed out while waiting for a reply after 00:00:59.9990000. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout.&quot;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Obviously, the first thing I did was to increase a timeout in the web.config, guess what , no impact on the results.&lt;br /&gt;
&lt;br /&gt;
So here is the summery after googling and debugging:&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Availbale timeouts&lt;/h3&gt;
&lt;h4&gt;
&lt;b&gt;Binding Timeouts&lt;/b&gt;&lt;/h4&gt;
SendTimeout, ReceiveTimeout, OpenTimeout and CloseTimeout. Default = 60 sec.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;bindings&amp;gt;&lt;br /&gt;
&amp;nbsp;   &amp;nbsp;&amp;lt;netTcpBinding&amp;gt;&lt;br /&gt;
&amp;nbsp;   &amp;nbsp; &amp;nbsp;&amp;lt;binding name=&quot;longTimeoutBinding&quot;&lt;br /&gt;
&amp;nbsp;       &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;receiveTimeout=&quot;00:10:00&quot; sendTimeout=&quot;00:10:00&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;     &amp;nbsp; &amp;nbsp;&amp;lt;security mode=&quot;None&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;   &amp;nbsp; &amp;lt;/binding&amp;gt;&lt;br /&gt;
&amp;nbsp;   &amp;nbsp;&amp;lt;/netTcpBinding&amp;gt;&lt;br /&gt;
&amp;lt;/bindings&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://blogs.msdn.com/b/wenlong/archive/2008/03/10/why-changing-sendtimeout-does-not-help-for-hosted-wcf-services.aspx&quot;&gt;Why changing SendTimeout does not help for hosted WCF services?&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The timeout configuration needs to be set at the client level, so the configuration I was setting in the web.config had no effect, the WCF test tool has its own configuration and there is where you need to set the timeout.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;ServiceHost Timeout&lt;/b&gt;&lt;/h4&gt;
OpenTimeout (default is 1 minute) , CloseTimeout (default 10 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;ServiceHost host = new ServiceHost(typeof(FileService), new Uri(&quot;https://localhost:8443/FileService&quot;));&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;host.OpenTimeout = TimeSpan.FromMinutes(5);&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;host.CloseTimeout = TimeSpan.FromMinutes(5);&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Timeouts on client side channel&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This is somewhat not as well known as the previous ones.&lt;br /&gt;
There is an &lt;b&gt;OperationTimeout&lt;/b&gt;, which you can set it by casting the channel to &lt;i&gt;IContextChannel&lt;/i&gt;. You can do it through code. The default for this is also 1 minute. &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;IFileService channel = ChannelFactory&amp;lt;IFileService&amp;gt;.CreateChannel(binding, new EndpointAddress(&quot;https://localhost:8443/FileService&quot;));&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;IClientChannel contextChannel = channel as IClientChannel;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;contextChannel.OperationTimeout = TimeSpan.FromMinutes(10);&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
This is the exception you will get if you are hitting this operation timeout:&lt;br /&gt;
&lt;i style=&quot;color: blue;&quot;&gt;&quot;Unhandled Exception: System.TimeoutException: The request channel timed out attempting to send after 00:00:00.0100000. Increase the timeout value passed to the&lt;/i&gt;&lt;br /&gt;
&lt;i style=&quot;color: blue;&quot;&gt;call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout. ---&amp;gt; System.T&lt;/i&gt;&lt;br /&gt;
&lt;i style=&quot;color: blue;&quot;&gt;imeoutException: The HTTP request to &#39;https://localhost:8443/FileService&#39; has exceeded the allotted timeout of 00:00:00. The time allotted to this operation may&lt;/i&gt;&lt;br /&gt;
&lt;i style=&quot;color: blue;&quot;&gt;have been a portion of a longer timeout.&quot;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
There is another not so well known timeout on tcp transport, called &lt;b&gt;ChannelInitializationTimeout&lt;/b&gt;, and its default value is 5 seconds. &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;BindingElementCollection be = binding.CreateBindingElements();&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;TcpTransportBindingElement tcpBe = be.Find&amp;lt;TcpTransportBindingElement&amp;gt;();&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;tcpBe.ChannelInitializationTimeout = TimeSpan.FromMinutes(1);&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;CustomBinding customBinding = new CustomBinding(be);&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Exception related to ChannelInitializationTimeout could look like:&lt;/h4&gt;
&lt;i style=&quot;color: blue;&quot;&gt;&quot;Unhandled Exception: System.ServiceModel.CommunicationException: The socket connection was aborted. This could be caused by an error processing your message or&lt;/i&gt;&lt;br /&gt;
&lt;i style=&quot;color: blue;&quot;&gt;a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was &#39;00:00:59.9257860&#39;. ---&amp;gt; System.Net.Socke&lt;/i&gt;&lt;br /&gt;
&lt;i style=&quot;color: blue;&quot;&gt;ts.SocketException: An existing connection was forcibly closed by the remote host&lt;/i&gt;&lt;br /&gt;
&lt;i style=&quot;color: blue;&quot;&gt;at System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)&lt;/i&gt;&lt;br /&gt;
&lt;i style=&quot;color: blue;&quot;&gt;at System.ServiceModel.Channels.SocketConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout)&lt;/i&gt;&lt;br /&gt;
&lt;i style=&quot;color: blue;&quot;&gt;--- End of inner exception stack trace ---&quot;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Timeouts in ASP.NET&lt;/h4&gt;
&lt;br /&gt;
If you are web hosted, you should consider hitting timeouts set by ASPNET. There are S&lt;b&gt;hutdown timeout&lt;/b&gt;, just like the service host close timeout, default is 90 seconds. &lt;b&gt;Execution Timeout&lt;/b&gt;, just like our operation timeout, default is 110 seconds. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
&amp;lt;system.web&amp;gt;&lt;br /&gt;
&amp;lt;httpRuntime maxRequestLength=&quot;4000&quot;&lt;br /&gt;
enable = &quot;True&quot;&lt;br /&gt;
requestLengthDiskThreshold=&quot;512&lt;br /&gt;
shutdownTimeout=&quot;90&quot;&lt;br /&gt;
executionTimeout=&quot;110&quot;&lt;br /&gt;
versionHeader=&quot;1.1.4128&quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/system.web&amp;gt;&lt;br /&gt;
&amp;lt;/configuration&amp;gt;</content><link rel='replies' type='application/atom+xml' href='http://aucsoftwaresolutions.blogspot.com/feeds/6847231510105756989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2013/03/timeouts-in-wcf-service.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/6847231510105756989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/6847231510105756989'/><link rel='alternate' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2013/03/timeouts-in-wcf-service.html' title='Timeouts in WCF service'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/00276034909677348282</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6289231884114624436.post-5269631597662840494</id><published>2012-04-12T10:59:00.001-07:00</published><updated>2013-04-01T13:25:03.694-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Plugins"/><title type='text'></title><content type='html'>&lt;h1 class=&quot;firstHeading&quot; id=&quot;firstHeading&quot; style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-family: sans-serif; font-size: 1.6em; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.2em; margin-bottom: 0.1em; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0px; padding-top: 0px; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; width: auto; word-spacing: 0px;&quot;&gt;Windows Media Center Plug-In&lt;/h1&gt;&lt;div id=&quot;bodyContent&quot; style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; color: black; font-family: sans-serif; font-size: 0.8em; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.5em; orphans: 2; position: relative; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; width: 1071px; word-spacing: 0px;&quot;&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;--&lt;a class=&quot;new&quot; href=&quot;http://vialinux/viawiki/index.php?title=User:Tatiana.golod&amp;amp;action=edit&amp;amp;redlink=1&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #a55858; text-decoration: none;&quot; title=&quot;User:Tatiana.golod (page does not exist)&quot;&gt;Tatiana.golod&lt;/a&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;12:28, 14 October 2011 (EDT)&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;Existing solution: TFS/DefaultCollection/WMC plugin&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;Old solution: //depot/Code/CSharp/ConnecTV.Solution/&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;br /&gt;
&lt;b&gt;&lt;a class=&quot;external text&quot; href=&quot;http://www.microsoft.com/download/en/details.aspx?id=18400&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;Install full version of Windows Media Center SDK&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;b&gt;* Have to be VisualStudio 8&lt;/b&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;otherwise need to import templates and reinstall certificate&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;b&gt;&lt;a class=&quot;external text&quot; href=&quot;http://david.gardiner.net.au/2010/10/writing-media-center-application-in.html&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;Writing a Media Center Application in Visual Studio 2010&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;table class=&quot;toc&quot; id=&quot;toc&quot; style=&quot;background-color: #f9f9f9; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(170, 170, 170); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: solid; border-top-width: 1px; font-size: 12px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div id=&quot;toctitle&quot; style=&quot;text-align: center;&quot;&gt;&lt;h2 style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-style: none; border-color: initial; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; border-width: initial; color: black; display: inline; font-size: 12px; font-weight: bold; margin-bottom: 0.6em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: auto;&quot;&gt;Contents&lt;/h2&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;toctoggle&quot; style=&quot;font-size: 11px;&quot;&gt;[&lt;a class=&quot;internal&quot; href=&quot;http://vialinux/viawiki/index.php/Windows_Media_Center_Plug-In#&quot; id=&quot;togglelink&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot;&gt;hide&lt;/a&gt;]&lt;/span&gt;&lt;/div&gt;&lt;ul style=&quot;line-height: 1.5em; list-style-image: none; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;&lt;li class=&quot;toclevel-1 tocsection-1&quot; style=&quot;margin-bottom: 0.1em;&quot;&gt;&lt;a href=&quot;http://vialinux/viawiki/index.php/Windows_Media_Center_Plug-In#Building_instructions&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot;&gt;&lt;span class=&quot;tocnumber&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;toctext&quot;&gt;Building instructions&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;toclevel-1 tocsection-2&quot; style=&quot;margin-bottom: 0.1em;&quot;&gt;&lt;a href=&quot;http://vialinux/viawiki/index.php/Windows_Media_Center_Plug-In#Building_an_installer_instructions&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot;&gt;&lt;span class=&quot;tocnumber&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;toctext&quot;&gt;Building an installer instructions&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;toclevel-1 tocsection-3&quot; style=&quot;margin-bottom: 0.1em;&quot;&gt;&lt;a href=&quot;http://vialinux/viawiki/index.php/Windows_Media_Center_Plug-In#Debugging&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot;&gt;&lt;span class=&quot;tocnumber&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;toctext&quot;&gt;Debugging&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;toclevel-1 tocsection-4&quot; style=&quot;margin-bottom: 0.1em;&quot;&gt;&lt;a href=&quot;http://vialinux/viawiki/index.php/Windows_Media_Center_Plug-In#Strong_names&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot;&gt;&lt;span class=&quot;tocnumber&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;toctext&quot;&gt;Strong names&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;toclevel-1 tocsection-5&quot; style=&quot;margin-bottom: 0.1em;&quot;&gt;&lt;a href=&quot;http://vialinux/viawiki/index.php/Windows_Media_Center_Plug-In#Threads_in_Windows_Media_Center&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot;&gt;&lt;span class=&quot;tocnumber&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;toctext&quot;&gt;Threads in Windows Media Center&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;toclevel-1 tocsection-6&quot; style=&quot;margin-bottom: 0.1em;&quot;&gt;&lt;a href=&quot;http://vialinux/viawiki/index.php/Windows_Media_Center_Plug-In#Initializing.2C_Launching.2C_and_Uninitializing_the_Application&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot;&gt;&lt;span class=&quot;tocnumber&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;toctext&quot;&gt;Initializing, Launching, and Uninitializing the Application&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;toclevel-1 tocsection-7&quot; style=&quot;margin-bottom: 0.1em;&quot;&gt;&lt;a href=&quot;http://vialinux/viawiki/index.php/Windows_Media_Center_Plug-In#Playing_Media&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot;&gt;&lt;span class=&quot;tocnumber&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;toctext&quot;&gt;Playing Media&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;toclevel-1 tocsection-8&quot; style=&quot;margin-bottom: 0.1em;&quot;&gt;&lt;a href=&quot;http://vialinux/viawiki/index.php/Windows_Media_Center_Plug-In#Markup&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot;&gt;&lt;span class=&quot;tocnumber&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;toctext&quot;&gt;Markup&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;toclevel-1 tocsection-9&quot; style=&quot;margin-bottom: 0.1em;&quot;&gt;&lt;a href=&quot;http://vialinux/viawiki/index.php/Windows_Media_Center_Plug-In#Developing_Notes&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot;&gt;&lt;span class=&quot;tocnumber&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;toctext&quot;&gt;Developing Notes&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;toclevel-1 tocsection-10&quot; style=&quot;margin-bottom: 0.1em;&quot;&gt;&lt;a href=&quot;http://vialinux/viawiki/index.php/Windows_Media_Center_Plug-In#Additional_help&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot;&gt;&lt;span class=&quot;tocnumber&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;toctext&quot;&gt;Additional help&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;h2 style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-size: 19px; font-weight: normal; margin-bottom: 0.6em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0.17em; padding-top: 0.5em; width: auto;&quot;&gt;&lt;span class=&quot;editsection&quot; style=&quot;float: right; font-size: 13px; margin-left: 5px;&quot;&gt;[&lt;a href=&quot;http://vialinux/viawiki/index.php?title=Windows_Media_Center_Plug-In&amp;amp;action=edit&amp;amp;section=1&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot; title=&quot;Edit section: Building instructions&quot;&gt;edit&lt;/a&gt;]&lt;/span&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;Building_instructions&quot;&gt;Building instructions&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;b&gt;Building and registering the installers&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;1. Edit the&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;Environment.bat&lt;/i&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;for the correct paths, make sure you have gacutil.exe version 2 in order to register the installers&lt;/div&gt;&lt;ul style=&quot;line-height: 1.5em; list-style-image: url(data:image/png; list-style-type: square; margin-bottom: 0px; margin-left: 1.5em; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;gacutil.exe version 2 comes with .NET SDK 2.0&lt;/li&gt;
&lt;/ul&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;a class=&quot;external text&quot; href=&quot;http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=19988&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;Install the .NET SDK 2.0 version&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;br /&gt;
The solution is configured to run&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;PreBuild.bat&lt;/i&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;and&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;PostBuild.bat&lt;/i&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;files for each project to register the installers them correctly&lt;/div&gt;&lt;ul style=&quot;line-height: 1.5em; list-style-image: url(data:image/png; list-style-type: square; margin-bottom: 0px; margin-left: 1.5em; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;Build the solution twice!! the first time it will fail because the PreBuild.bat of each project try to unregister first and since nothing was registered yet it will fail.&lt;/li&gt;
&lt;/ul&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;So it goes like this:&lt;/div&gt;&lt;pre style=&quot;background-color: #f9f9f9; border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; color: black; font-family: monospace, &#39;Courier New&#39;; line-height: 1.1em; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;Build all twice, if still fails
 1. Build project Jasmio.MediaCenter.Service, 
 2. Build Jasmio.MediaCenter.Service.RemotingInterfaces.Version1
 3. Build all again
&lt;/pre&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;2. Edit&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;Build.reg&lt;/i&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;br /&gt;
&lt;b&gt;Building the installers - Manual&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;Build the library merge modules&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;Open command prompt&lt;/div&gt;&lt;pre style=&quot;background-color: #f9f9f9; border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; color: black; font-family: monospace, &#39;Courier New&#39;; line-height: 1.1em; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;go to Jasmio.MediaCenter.Service\Setup
type &lt;i&gt;Build 1.3.1 Debug&lt;/i&gt;
type &lt;i&gt;Build 1.1.0 Debug&lt;/i&gt;
&lt;/pre&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;Certificate password:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;no12know&lt;/i&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h2 style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-size: 19px; font-weight: normal; margin-bottom: 0.6em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0.17em; padding-top: 0.5em; width: auto;&quot;&gt;&lt;span class=&quot;editsection&quot; style=&quot;float: right; font-size: 13px; margin-left: 5px;&quot;&gt;[&lt;a href=&quot;http://vialinux/viawiki/index.php?title=Windows_Media_Center_Plug-In&amp;amp;action=edit&amp;amp;section=2&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot; title=&quot;Edit section: Building an installer instructions&quot;&gt;edit&lt;/a&gt;]&lt;/span&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;Building_an_installer_instructions&quot;&gt;Building an installer instructions&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;1.&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a class=&quot;external text&quot; href=&quot;http://wix.codeplex.com/&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;Install WiX (a toolset that builds Windows installation packages from XML source code)&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;2. Run&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;Build 1.3.1 Debug&lt;/i&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;in cmd (cd to Jasmio.MediaCenter.Service\Setup)&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;3. Run&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;Build 1.1.1 Debug&lt;/i&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;in cmd (cd to ConnecTV.MediaCenter\Setup)&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;(you&#39;ll get about 8 warnings, but no errors hopefully)&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;If it&#39;s worked, there should now be a couple of installers in the projects Debug output directory.&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h2 style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-size: 19px; font-weight: normal; margin-bottom: 0.6em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0.17em; padding-top: 0.5em; width: auto;&quot;&gt;&lt;span class=&quot;editsection&quot; style=&quot;float: right; font-size: 13px; margin-left: 5px;&quot;&gt;[&lt;a href=&quot;http://vialinux/viawiki/index.php?title=Windows_Media_Center_Plug-In&amp;amp;action=edit&amp;amp;section=3&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot; title=&quot;Edit section: Debugging&quot;&gt;edit&lt;/a&gt;]&lt;/span&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;Debugging&quot;&gt;Debugging&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;To enable the debugging follow instructions in the documentaion SDK (Windows_Media_Center_SDK.chm)&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;i&gt;Attaching a Debugger to a Windows Media Center Application using Visual Studio&lt;/i&gt;&lt;/div&gt;&lt;ul style=&quot;line-height: 1.5em; list-style-image: url(data:image/png; list-style-type: square; margin-bottom: 0px; margin-left: 1.5em; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;To enable the registry variables for debug you can run&lt;/li&gt;
&lt;/ul&gt;&lt;pre style=&quot;background-color: #f9f9f9; border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; color: black; font-family: monospace, &#39;Courier New&#39;; line-height: 1.1em; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;EnableAddInLaunchDebugging_False.reg
EnableErrorDetails_True.reg
&lt;/pre&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;located in ..\Program Files (x86)\Microsoft SDKs\Windows Media Center\v6.0\Tools&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h2 style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-size: 19px; font-weight: normal; margin-bottom: 0.6em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0.17em; padding-top: 0.5em; width: auto;&quot;&gt;&lt;span class=&quot;editsection&quot; style=&quot;float: right; font-size: 13px; margin-left: 5px;&quot;&gt;[&lt;a href=&quot;http://vialinux/viawiki/index.php?title=Windows_Media_Center_Plug-In&amp;amp;action=edit&amp;amp;section=4&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot; title=&quot;Edit section: Strong names&quot;&gt;edit&lt;/a&gt;]&lt;/span&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;Strong_names&quot;&gt;Strong names&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;Windows Media Center loads only locally-stored assemblies, which reside in the GAC, it requires all assemblies have strong names.&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;The following is the minimum information required to create a strong-named assembly:&lt;/div&gt;&lt;ul style=&quot;line-height: 1.5em; list-style-image: url(data:image/png; list-style-type: square; margin-bottom: 0px; margin-left: 1.5em; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;Assembly title in plain text.&lt;/li&gt;
&lt;/ul&gt;&lt;ul style=&quot;line-height: 1.5em; list-style-image: url(data:image/png; list-style-type: square; margin-bottom: 0px; margin-left: 1.5em; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;Assembly version number.&lt;/li&gt;
&lt;/ul&gt;&lt;ul style=&quot;line-height: 1.5em; list-style-image: url(data:image/png; list-style-type: square; margin-bottom: 0px; margin-left: 1.5em; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;Cryptographic key-pair file used to digitally sign the assembly.&lt;/li&gt;
&lt;/ul&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;The Strong Name tool (sn.exe) included with the .NET Framework 2.0 SDK can also be used to create a strong name key file.&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h2 style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-size: 19px; font-weight: normal; margin-bottom: 0.6em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0.17em; padding-top: 0.5em; width: auto;&quot;&gt;&lt;span class=&quot;editsection&quot; style=&quot;float: right; font-size: 13px; margin-left: 5px;&quot;&gt;[&lt;a href=&quot;http://vialinux/viawiki/index.php?title=Windows_Media_Center_Plug-In&amp;amp;action=edit&amp;amp;section=5&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot; title=&quot;Edit section: Threads in Windows Media Center&quot;&gt;edit&lt;/a&gt;]&lt;/span&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;Threads_in_Windows_Media_Center&quot;&gt;Threads in Windows Media Center&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;WMC applications are hosted in an individual&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;ehExtHost.exe&lt;/i&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;process. (Applications running on prior versions of WMC ran concurrent with the WMC process (ehShell.exe) in their own application domain.) WMC runs each background application in a separate thread, and the application can create as many threads as it needs. Because foreground threads can prevent the application from terminating properly, a multithreaded application should use background threads whenever possible by setting the thread&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;IsBackground&lt;/i&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;property to&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;true&lt;/i&gt;.&lt;/div&gt;&lt;ul style=&quot;line-height: 1.5em; list-style-image: url(data:image/png; list-style-type: square; margin-bottom: 0px; margin-left: 1.5em; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;An application can create as many threads as it wants. However, the WMC object model is single-threaded. You cannot construct a ModelItem or raise change notifications from a thread other than the main application thread. Most of the methods in the Microsoft.MediaCenter.UI namespace can only be called from the main application thread, with the exception of the methods in the Application class.&lt;/li&gt;
&lt;/ul&gt;&lt;ul style=&quot;line-height: 1.5em; list-style-image: url(data:image/png; list-style-type: square; margin-bottom: 0px; margin-left: 1.5em; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;The methods in the&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;Microsoft.MediaCenter.TV.Epg&lt;/i&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;and&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;Microsoft.MediaCenter.TV.Scheduling&lt;/i&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;namespaces can be called on any thread or on as many as needed. Events are called back on the same thread as you called them from.&lt;/li&gt;
&lt;/ul&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h2 style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-size: 19px; font-weight: normal; margin-bottom: 0.6em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0.17em; padding-top: 0.5em; width: auto;&quot;&gt;&lt;span class=&quot;editsection&quot; style=&quot;float: right; font-size: 13px; margin-left: 5px;&quot;&gt;[&lt;a href=&quot;http://vialinux/viawiki/index.php?title=Windows_Media_Center_Plug-In&amp;amp;action=edit&amp;amp;section=6&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot; title=&quot;Edit section: Initializing, Launching, and Uninitializing the Application&quot;&gt;edit&lt;/a&gt;]&lt;/span&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;Initializing.2C_Launching.2C_and_Uninitializing_the_Application&quot;&gt;Initializing, Launching, and Uninitializing the Application&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;Project:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Jasmio.MediaCenter.UI&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;Class:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Experience&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;Must implement two interfaces:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;IAddInModule&lt;/i&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;and&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;IAddInEntryPoint&lt;/i&gt;.&lt;/div&gt;&lt;ul style=&quot;line-height: 1.5em; list-style-image: url(data:image/png; list-style-type: square; margin-bottom: 0px; margin-left: 1.5em; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;IAddInModule exposes the Initialize and Uninitialize methods.&lt;/li&gt;
&lt;/ul&gt;&lt;pre style=&quot;background-color: #f9f9f9; border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; color: black; font-family: monospace, &#39;Courier New&#39;; line-height: 1.1em; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;Calls flow:
1. IAddInModule.Initialize is the first method when it loads the application.
2. IAddInEntryPoint.Launch method, passing an instance of the &lt;i&gt;AddInHost&lt;/i&gt; object to the application. This object lets the application access  
to retrieve information about WMC. The AddInHost object is valid only until the Launch method returns. Therefore an application must make all   
calls to the Windows Media Center APIs within the context of the Launch method. 
* After calling the Launch method, if you do not use the host object, the object could be released because .NET Remoting releases objects      
 every five minutes if they are not used. To avoid this, use the host object or use the objects within five minutes.
&lt;/pre&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;b&gt;Terminating the Application&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;Before terminating an application, WMC calls the application&#39;s&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;IAddInModule.Uninitialize&lt;/i&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;method and then briefly waits for the application to save its state, terminate any threads it created, and free any other system resources that it may have allocated. If the application&#39;s Uninitialize method does not return quickly enough, it unloads the application&#39;s application domain, terminating the application.&lt;/div&gt;&lt;ul style=&quot;line-height: 1.5em; list-style-image: url(data:image/png; list-style-type: square; margin-bottom: 0px; margin-left: 1.5em; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;You should assume that your application can be interrupted at any time. Design the application to perform lengthy operations in small steps, saving its state after each step if necessary.&lt;/li&gt;
&lt;/ul&gt;&lt;ul style=&quot;line-height: 1.5em; list-style-image: url(data:image/png; list-style-type: square; margin-bottom: 0px; margin-left: 1.5em; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;If your application needs a more deterministic environment, you should implement the application as an executable program that runs outside of WMC and use a helper application to manipulate the Windows Media Center aspects of the application.&lt;/li&gt;
&lt;/ul&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h2 style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-size: 19px; font-weight: normal; margin-bottom: 0.6em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0.17em; padding-top: 0.5em; width: auto;&quot;&gt;&lt;span class=&quot;editsection&quot; style=&quot;float: right; font-size: 13px; margin-left: 5px;&quot;&gt;[&lt;a href=&quot;http://vialinux/viawiki/index.php?title=Windows_Media_Center_Plug-In&amp;amp;action=edit&amp;amp;section=7&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot; title=&quot;Edit section: Playing Media&quot;&gt;edit&lt;/a&gt;]&lt;/span&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;Playing_Media&quot;&gt;Playing Media&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;Project:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;ConnecTV.MediaCenter&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;Class:&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;ConnecTVExperience&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;i&gt;Microsoft.MediaCenter.Hosting.AddInHost.Current.MediaCenterEnvironment&lt;/i&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;Enables applications to retrieve device information, gain access to disc changers, and control various aspects of WMC. The&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;MediaCenterEnvironment&lt;/i&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;class provides information about WMC, including its current capabilities and version number. For example, an application can use this class to display dialog boxes, play media, navigate to particular locations in WMC, and so on.&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h2 style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-size: 19px; font-weight: normal; margin-bottom: 0.6em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0.17em; padding-top: 0.5em; width: auto;&quot;&gt;&lt;span class=&quot;editsection&quot; style=&quot;float: right; font-size: 13px; margin-left: 5px;&quot;&gt;[&lt;a href=&quot;http://vialinux/viawiki/index.php?title=Windows_Media_Center_Plug-In&amp;amp;action=edit&amp;amp;section=8&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot; title=&quot;Edit section: Markup&quot;&gt;edit&lt;/a&gt;]&lt;/span&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;Markup&quot;&gt;Markup&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;Defines a UI—how it appears visually, how it behaves, and how it interacts with code/data objects.&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;MCML separates code and data from UI logic. All UI development is done using MCML and is bound to data via rich binding mechanisms. All data and code are strictly non-visual.&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;The MCML files are embedded in the Resources.&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;Data binding performed in MCML, most object paths are evaluated at UI build time and their result values are set on the associated properties. However, some tags hold on to the object path and will re-evaluate it at runtime when needed.&lt;/div&gt;&lt;ul style=&quot;line-height: 1.5em; list-style-image: url(data:image/png; list-style-type: square; margin-bottom: 0px; margin-left: 1.5em; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;ObjectName is always refers to a named object within the scope of the UI.&lt;/li&gt;
&lt;/ul&gt;&lt;h2 style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-size: 19px; font-weight: normal; margin-bottom: 0.6em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0.17em; padding-top: 0.5em; width: auto;&quot;&gt;&lt;span class=&quot;editsection&quot; style=&quot;float: right; font-size: 13px; margin-left: 5px;&quot;&gt;[&lt;a href=&quot;http://vialinux/viawiki/index.php?title=Windows_Media_Center_Plug-In&amp;amp;action=edit&amp;amp;section=9&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot; title=&quot;Edit section: Developing Notes&quot;&gt;edit&lt;/a&gt;]&lt;/span&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;Developing_Notes&quot;&gt;Developing Notes&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;i&gt;MainPage.mcml&lt;/i&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;defines a single page and serves as the container for the individual views. The data binding also occurs at this page.&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;b&gt;ConnecTV.MediaCenter.View.ConnecTVSettings&lt;/b&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;- settings class&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;b&gt;All the logs&lt;/b&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;are in ApplicationDataPath (C:\ProgramData\IPTV Distribution\)&lt;/div&gt;&lt;pre style=&quot;background-color: #f9f9f9; border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; color: black; font-family: monospace, &#39;Courier New&#39;; line-height: 1.1em; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;Debug log:  C:\ProgramData\IPTV Distribution\IPTV Plug-in for Media Center\Debug.log
&lt;/pre&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;b&gt;Settings&lt;/b&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;(such as available packages for the user) are loaded from the settings file located in&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;System.Environment.SpecialFolder.CommonApplicationData&lt;/b&gt;&lt;/div&gt;&lt;pre style=&quot;background-color: #f9f9f9; border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; color: black; font-family: monospace, &#39;Courier New&#39;; line-height: 1.1em; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;Settings file C:\ProgramData\IPTV Distribution\IPTV Plug-in for Media Center\Settings.xml
&lt;/pre&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;b&gt;Cache Files&lt;/b&gt;&lt;/div&gt;&lt;pre style=&quot;background-color: #f9f9f9; border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; color: black; font-family: monospace, &#39;Courier New&#39;; line-height: 1.1em; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;C:\ProgramData\IPTV Distribution\IPTV Plug-in for Media Center\Cache
&lt;/pre&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;The&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;localization files&lt;/b&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;are copied to the:&lt;/div&gt;&lt;pre style=&quot;background-color: #f9f9f9; border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; color: black; font-family: monospace, &#39;Courier New&#39;; line-height: 1.1em; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;C:\Program Files\IPTV Distribution\IPTV Plug-in for Media Center\Resources\Localization
&lt;/pre&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;the first time the application builds, so in order to see changes to the strings, change the appropriate file manually!!&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;hr style=&quot;background-color: #aaaaaa; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #aaaaaa; height: 1px; margin-bottom: 0.2em; margin-left: 0px; margin-right: 0px; margin-top: 0.2em;&quot; /&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;&lt;b&gt;Vianet services:&lt;/b&gt;&lt;/div&gt;&lt;ul style=&quot;line-height: 1.5em; list-style-image: url(data:image/png; list-style-type: square; margin-bottom: 0px; margin-left: 1.5em; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;To get the TV, Vidioteka, Archive and radio the application uses&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;a class=&quot;external free&quot; href=&quot;http://www.iptv-distribution.net/cas/service.asmx&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;http://www.iptv-distribution.net/cas/service.asmx&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;(\\10.0.0.42\e$\Inetpub\iptv-distributionApplications\cas\App_Code)&lt;/div&gt;&lt;ul style=&quot;line-height: 1.5em; list-style-image: url(data:image/png; list-style-type: square; margin-bottom: 0px; margin-left: 1.5em; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;To get Teleteka it uses new service api&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;a class=&quot;external free&quot; href=&quot;http://ivsmedia.iptv-distribution.net/ClientService.svc?wsdl&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;http://ivsmedia.iptv-distribution.net/ClientService.svc?wsdl&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;(\\10.0.0.42\e$\Inetpub\iptv-distributionApplications\IVsMedia)&lt;/div&gt;&lt;h2 style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-size: 19px; font-weight: normal; margin-bottom: 0.6em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0.17em; padding-top: 0.5em; width: auto;&quot;&gt;&lt;span class=&quot;editsection&quot; style=&quot;float: right; font-size: 13px; margin-left: 5px;&quot;&gt;[&lt;a href=&quot;http://vialinux/viawiki/index.php?title=Windows_Media_Center_Plug-In&amp;amp;action=edit&amp;amp;section=10&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot; title=&quot;Edit section: Additional help&quot;&gt;edit&lt;/a&gt;]&lt;/span&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;Additional_help&quot;&gt;Additional help&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;Media Center Markup Language Reference&lt;/div&gt;&lt;pre style=&quot;background-color: #f9f9f9; border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; color: black; font-family: monospace, &#39;Courier New&#39;; line-height: 1.1em; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;&lt;a class=&quot;external free&quot; href=&quot;http://msdn.microsoft.com/en-us/library/windows/desktop/bb189388.aspx&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;http://msdn.microsoft.com/en-us/library/windows/desktop/bb189388.aspx&lt;/a&gt;
&lt;a class=&quot;external free&quot; href=&quot;http://msdn.microsoft.com/en-us/library/bb189729&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;http://msdn.microsoft.com/en-us/library/bb189729&lt;/a&gt;
&lt;/pre&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;Media Center Development Blog&lt;/div&gt;&lt;pre style=&quot;background-color: #f9f9f9; border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; color: black; font-family: monospace, &#39;Courier New&#39;; line-height: 1.1em; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;&lt;a class=&quot;external free&quot; href=&quot;http://mediacenterdev.blogspot.com/2007/02/thinking-and-transferring-data-in-mcml&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;http://mediacenterdev.blogspot.com/2007/02/thinking-and-transferring-data-in-mcml&lt;/a&gt;.&lt;/pre&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aucsoftwaresolutions.blogspot.com/feeds/5269631597662840494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2012/04/windows-media-center-plug-in-tatiana.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/5269631597662840494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/5269631597662840494'/><link rel='alternate' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2012/04/windows-media-center-plug-in-tatiana.html' title=''/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/00276034909677348282</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6289231884114624436.post-4066927111420450954</id><published>2012-04-12T09:53:00.000-07:00</published><updated>2012-04-12T09:53:49.513-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Windows Media Center"/><title type='text'>Develop Media Center Addons</title><content type='html'>&lt;strong&gt;Short notes!!&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;
&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2 style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-size: 19px; font-weight: normal; margin-bottom: 0.6em; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0.17em; padding-top: 0.5em; width: auto;&quot;&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;Preparation_of_the_environment&quot;&gt;Preparation of the environment&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;Should have Visual Studio 2008&lt;/div&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;1. Download and Install the Windows Media Center Software Development Kit from&lt;/div&gt;&lt;pre style=&quot;background-color: #f9f9f9; border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; color: black; font-family: monospace, &#39;Courier New&#39;; line-height: 1.1em; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;&lt;a class=&quot;external free&quot; href=&quot;http://www.microsoft.com/downloads/details.aspx?familyid=a43ea0b7-b85f-4612-aa08-3bf128c5873e&amp;amp;displaylang=en&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;http://www.microsoft.com/downloads/details.aspx?familyid=a43ea0b7-b85f-4612-aa08-3bf128c5873e&amp;amp;displaylang=en&lt;/a&gt;. 
&lt;/pre&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;2. Download and Install GUIDGEN.EXE from (if you don&#39;t have it in VisualStudio tools)&lt;/div&gt;&lt;pre style=&quot;background-color: #f9f9f9; border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; color: black; font-family: monospace, &#39;Courier New&#39;; line-height: 1.1em; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;&lt;a class=&quot;external free&quot; href=&quot;http://www.microsoft.com/downloads/details.aspx?familyid=94551f58-484f-4a8c-bb39-adb270833afc&amp;amp;displaylang=en&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;http://www.microsoft.com/downloads/details.aspx?familyid=94551f58-484f-4a8c-bb39-adb270833afc&amp;amp;displaylang=en&lt;/a&gt;. 
&lt;/pre&gt;&lt;div style=&quot;line-height: 1.5em; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em;&quot;&gt;3. Download and install the latest build of WiX v3.0 (Wix3.msi) from&lt;/div&gt;&lt;pre style=&quot;background-color: #f9f9f9; border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; color: black; font-family: monospace, &#39;Courier New&#39;; line-height: 1.1em; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em;&quot;&gt;&lt;a class=&quot;external free&quot; href=&quot;http://wix.sourceforge.net/downloadv3.html&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;http://wix.sourceforge.net/downloadv3.html&lt;/a&gt;.
&lt;/pre&gt;&lt;br /&gt;
&lt;h2 style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-attachment: initial; background-clip: initial; background-color: white; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-family: sans-serif; font-size: 19px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; margin-bottom: 0.6em; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0.17em; padding-top: 0.5em; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; width: auto; word-spacing: 0px;&quot;&gt;&lt;span class=&quot;mw-headline&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/h2&gt;&lt;h2 style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-attachment: initial; background-clip: initial; background-color: white; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-family: sans-serif; font-size: 19px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; margin-bottom: 0.6em; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0.17em; padding-top: 0.5em; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; width: auto; word-spacing: 0px;&quot;&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;Build_the_add-on&quot;&gt;Build the add-on&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: white; color: black; font-family: sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;The addon have to be registered with WMC and in GAC! In order to make a change you have to unregister it first and then to register again.&lt;/div&gt;&lt;div style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: white; color: black; font-family: sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;Also register it with&amp;nbsp; Windows Media Center ( %windir%\ehome\RegisterMCEApp.exe)&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: white; color: black; font-family: sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: white; color: black; font-family: sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;  &lt;/div&gt;&lt;h2 style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-attachment: initial; background-clip: initial; background-color: white; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-family: sans-serif; font-size: 19px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; margin-bottom: 0.6em; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0.17em; padding-top: 0.5em; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; width: auto; word-spacing: 0px;&quot;&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;Steps_to_switch_to_Canadian_EPG_in_Windows_Media_Center&quot;&gt;Steps to switch to Canadian EPG in Windows Media Center&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: white; color: black; font-family: sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;1) Install or check if it is installed HD HomeRun from&lt;/div&gt;&lt;pre style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: #f9f9f9; border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; color: black; font-family: monospace, &#39;Courier New&#39;; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.1em; orphans: 2; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em; text-align: -webkit-auto; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px;&quot;&gt;&lt;a class=&quot;external free&quot; href=&quot;http://www.silicondust.com/support/hdhomerun/downloads/&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;http://www.silicondust.com/support/hdhomerun/downloads/&lt;/a&gt;&lt;/pre&gt;&lt;div style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: white; color: black; font-family: sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;2) Run EnableATSCandQAM.bat&lt;/div&gt;&lt;div style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: white; color: black; font-family: sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;3) Run USGuide.bat and select 4 (Toronto)&lt;/div&gt;&lt;div style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: white; color: black; font-family: sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;4) In WMC - &amp;gt;Tasks - &amp;gt;Settings -&amp;gt; TV -&amp;gt; TV Signal -&amp;gt; Setup TV Signal -&amp;gt; Select CANADA, M2N 6P4&lt;/div&gt;&lt;div style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: white; color: black; font-family: sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h2 style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-attachment: initial; background-clip: initial; background-color: white; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; color: black; font-family: sans-serif; font-size: 19px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; margin-bottom: 0.6em; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0.17em; padding-top: 0.5em; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; width: auto; word-spacing: 0px;&quot;&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;How_to_Get_EPG_from_WMC&quot;&gt;How to Get EPG from WMC&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: white; color: black; font-family: sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;1) Find C:\ProgramData\Microsoft\eHome\mcepg2-0.db&lt;/div&gt;&lt;div style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: white; color: black; font-family: sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;2) Build the WMC Addon with code from&lt;/div&gt;&lt;pre style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: #f9f9f9; border-bottom-color: rgb(47, 111, 171); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(47, 111, 171); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(47, 111, 171); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(47, 111, 171); border-top-style: dashed; border-top-width: 1px; color: black; font-family: monospace, &#39;Courier New&#39;; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.1em; orphans: 2; padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em; text-align: -webkit-auto; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px;&quot;&gt;&lt;a class=&quot;external free&quot; href=&quot;http://social.msdn.microsoft.com/Forums/en/netfx64bit/thread/ea979075-f602-475d-b485-3a4f787dcb70&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;http://social.msdn.microsoft.com/Forums/en/netfx64bit/thread/ea979075-f602-475d-b485-3a4f787dcb70&lt;/a&gt; to 
&lt;a class=&quot;external free&quot; href=&quot;http://experts.windows.com/frms/windows_entertainment_and_connected_home/f/25/p/79249/481843.aspx&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;http://experts.windows.com/frms/windows_entertainment_and_connected_home/f/25/p/79249/481843.aspx&lt;/a&gt;
&lt;/pre&gt;&lt;ul style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: white; color: black; font-family: sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; list-style-image: url(data:image/png; list-style-type: square; margin-bottom: 0px; margin-left: 1.5em; margin-right: 0px; margin-top: 0.3em; orphans: 2; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;Note: the EPG also saved in MXF File. More info:&lt;/li&gt;
&lt;/ul&gt;&lt;div style=&quot;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: white; color: black; font-family: sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.4em; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;a class=&quot;external text&quot; href=&quot;http://msdn.microsoft.com/en-us/library/dd776338.aspx&quot; rel=&quot;nofollow&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(data:image/png; background-origin: initial; background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; padding-right: 13px; text-decoration: none;&quot;&gt;Windows Media Center Guide Listings Format&lt;/a&gt;&amp;nbsp;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aucsoftwaresolutions.blogspot.com/feeds/4066927111420450954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2012/04/develop-media-center-addons.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/4066927111420450954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/4066927111420450954'/><link rel='alternate' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2012/04/develop-media-center-addons.html' title='Develop Media Center Addons'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/00276034909677348282</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6289231884114624436.post-8121328775727853739</id><published>2012-02-07T08:01:00.000-08:00</published><updated>2012-02-07T08:02:35.493-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="MonoDroid"/><title type='text'>Develop Android apps in C#</title><content type='html'>&lt;div class=&quot;MsoNormal&quot;&gt;Great! Awesome! I&#39;ve always wanted to write some neat mobile app, but was too lazy to learn Objective-C or Java topped with BlackBerry API or Android. That also meant learning a new IDE. Oh how lazy.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;I actually even got myself Eclipse + Android SDK + Java SDK and started to play around with this but then I discovered MonoDroid, a wrap for Android for Visual Studio. I happily tossed away Java and jumped back to .Net.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;So, this will give you the start :&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://xamarin.com/monoforandroid&quot;&gt;http://xamarin.com/monoforandroid&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;It&#39;s almost the same Android API as in Java but using the C# syntax and .Net libraries.&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 11pt;&quot;&gt;Enjoy!&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://aucsoftwaresolutions.blogspot.com/feeds/8121328775727853739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2012/02/develop-android-apps-in-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/8121328775727853739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/8121328775727853739'/><link rel='alternate' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2012/02/develop-android-apps-in-c.html' title='Develop Android apps in C#'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/00276034909677348282</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6289231884114624436.post-359396339403422742</id><published>2011-10-12T10:15:00.000-07:00</published><updated>2011-10-12T10:20:50.391-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="network protocol"/><category scheme="http://www.blogger.com/atom/ns#" term="WCF"/><title type='text'>WCF POX, JSON and SOAP Coexist</title><content type='html'>A great article, please check this out if you&#39;ve got stuck on getting SOAP and REST working together&lt;br /&gt;
&lt;a href=&quot;http://www.codemeit.com/wcf/wcf-restful-pox-json-and-soap-coexist.html&quot;&gt;http://www.codemeit.com/wcf/wcf-restful-pox-json-and-soap-coexist.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Thank you Ray :)</content><link rel='replies' type='application/atom+xml' href='http://aucsoftwaresolutions.blogspot.com/feeds/359396339403422742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2011/10/wcf-pox-json-and-soap-coexist.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/359396339403422742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/359396339403422742'/><link rel='alternate' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2011/10/wcf-pox-json-and-soap-coexist.html' title='WCF POX, JSON and SOAP Coexist'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/00276034909677348282</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6289231884114624436.post-2082105973579178030</id><published>2011-09-19T08:33:00.004-07:00</published><updated>2012-04-12T09:40:53.857-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><title type='text'>Recommended references (.net Dev and related)</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;b&gt;Android&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;Examples&lt;br /&gt;
&lt;a href=&quot;http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.1_r2/android/widget/VideoView.java#VideoView.%3Cinit%3E(android.content.Context)&quot;&gt;http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.1_r2/android/widget/VideoView.java#VideoView.%3Cinit%3E(android.content.Context)&lt;/a&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;C#&amp;nbsp;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;a href=&quot;http://roque-patrick.com/windows/final/bbl0190.html&quot;&gt;http://roque-patrick.com/windows/final/bbl0190.html&lt;/a&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;DirectShow&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;short summary about&lt;br /&gt;
&lt;a href=&quot;http://www.gdcl.co.uk/dshow.htm&quot;&gt;http://www.gdcl.co.uk/dshow.htm &lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
book&lt;br /&gt;
&lt;a href=&quot;http://mathinfo.univ-reims.fr/image/mmVideo/cours/DirectShow3Annexe.pdf&quot;&gt;http://mathinfo.univ-reims.fr/image/mmVideo/cours/DirectShow3Annexe.pdf&lt;/a&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
code samples&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.informikon.com/directshow-tutorials/&quot;&gt;http://www.informikon.com/directshow-tutorials/&amp;nbsp;&lt;/a&gt;&lt;br /&gt;
forum&lt;br /&gt;
&lt;a href=&quot;http://social.msdn.microsoft.com/Forums/en-US/windowsdirectshowdevelopment/threads&quot;&gt;http://social.msdn.microsoft.com/Forums/en-US/windowsdirectshowdevelopment/threads&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;XMarine&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;online API documentation&lt;br /&gt;
&lt;a href=&quot;http://docs.xamarin.com/mono/api&quot;&gt;http://docs.xamarin.com/mono/api&lt;/a&gt;&lt;br /&gt;
forum&lt;br /&gt;
&lt;a href=&quot;http://mono-for-android.1047100.n5.nabble.com/&quot;&gt;http://mono-for-android.1047100.n5.nabble.com/&lt;/a&gt;&lt;br /&gt;
open source (code samples)&lt;br /&gt;
&lt;a href=&quot;http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.1_r2/android/widget/VideoView.java#VideoView.%3Cinit%3E(android.content.Context)&quot;&gt;http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.1_r2/android/widget/VideoView.java#VideoView.%3Cinit%3E(android.content.Context)&lt;/a&gt;&lt;br /&gt;
&lt;b&gt; &lt;/b&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;SQL Server Hacks and Handy scripts&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;by Denis Gobo, Microsoft SQL MVP:&lt;br /&gt;
&lt;a href=&quot;http://wiki.lessthandot.com/index.php/Category:Microsoft_SQL_Server&quot;&gt;http://wiki.lessthandot.com/index.php/Category:Microsoft_SQL_Server&amp;nbsp;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Common Solutions for T-SQL Problems&lt;br /&gt;
&lt;a href=&quot;http://archive.msdn.microsoft.com/SQLExamples&quot;&gt;http://archive.msdn.microsoft.com/SQLExamples&amp;nbsp;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Some basics just in case&lt;br /&gt;
&lt;a href=&quot;http://sqltutorials.blogspot.ca/search/label/SQL%20CASE&quot;&gt;http://sqltutorials.blogspot.ca/search/label/SQL%20CASE&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;Microsoft DOS and command prompt&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;a href=&quot;http://www.computerhope.com/msdos.htm&quot;&gt;http://www.computerhope.com/msdos.htm&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://ss64.com/nt/&quot;&gt;http://ss64.com/nt/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;&amp;nbsp;Find PInvoke* signature related to calling Win32&amp;nbsp;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;a href=&quot;http://www.pinvoke.net/search.aspx?search=folder&amp;amp;namespace=kernel32&quot;&gt;http://www.pinvoke.net/search.aspx?search=folder&amp;amp;namespace=kernel32&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;&amp;nbsp;Shell Objects&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/windows/desktop/bb774094(v=VS.85).aspx&quot;&gt;http://msdn.microsoft.com/en-us/library/windows/desktop/bb774094(v=VS.85).aspx&amp;nbsp;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;Ask a Question&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;a href=&quot;http://stackoverflow.com/search?q=GStreamer&quot;&gt;http://stackoverflow.com/search?q=GStreamer&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;Git&amp;nbsp;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;a href=&quot;http://wiki.sourcemage.org/Git_Guide&quot;&gt;http://wiki.sourcemage.org/Git_Guide &amp;nbsp;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://cheat.errtheblog.com/s/git&quot;&gt;http://cheat.errtheblog.com/s/git&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://help.github.com/&quot;&gt;http://help.github.com&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://aucsoftwaresolutions.blogspot.com/feeds/2082105973579178030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2011/09/recommended-reference.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/2082105973579178030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/2082105973579178030'/><link rel='alternate' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2011/09/recommended-reference.html' title='Recommended references (.net Dev and related)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/00276034909677348282</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6289231884114624436.post-8836692460104865549</id><published>2011-08-24T08:44:00.003-07:00</published><updated>2012-03-27T08:33:25.597-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="network protocol"/><title type='text'>UDP, TCP, RTP, RTSP, Unicast, Multicast... MPEG-1, MPEG-2, MPEG-4...</title><content type='html'>A &lt;strong&gt;data transfer protocol&lt;/strong&gt; is a standardized format for transmitting data between two devices. The type of protocol used can determine such variables as the error checking method, the data compression method, and end-of-file acknowledgements. The protocols used to stream Windows Media-based content are RTSP and &amp;nbsp;HTTP&lt;br /&gt;
&lt;br /&gt;
Windows Media Services manages the use of these protocols by using control protocol plug-ins:&lt;br /&gt;
WMS RTSP Server Control Protocol plug-in and the WMS HTTP Server Control Protocol plug-in.&lt;br /&gt;
&lt;br /&gt;
While the control protocol plug-ins handle the high-level exchange of data, basic networking protocols such as UDP and TCP are used to manage more fundamental tasks such as network connectivity and packet error correction. The RTSP protocol is used in combination with both the UDP or TCP protocols.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://technet.microsoft.com/en-us/library/cc731604.aspx&quot;&gt;http://technet.microsoft.com/en-us/library/cc731604.aspx&lt;/a&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Networking Standards :&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;TCP&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
It seems everyone&#39;s heard of &quot;TCP/IP&quot;.  You probably know that &quot;IP&quot; stands for &quot;Internet Protocol&quot;.  The &quot;TCP&quot; stands for &quot;Transmission Control Protocol&quot;.  Here is the deal:  to ensure a packet arrives without errors, the sender of a packet keeps an extra copy and waits for the receiver to say &quot;I got it okay&quot;.  If the sender hears this from the receiver, the sender can discard that extra copy.  If the receiver says &quot;I didn&#39;t get it&quot; or says nothing at all after awhile, the sender resends it.  As you can see, this makes for reliable delivery but takes time.  It also adds a great deal of overhead because there is a dialog between the sender and receiver.  Practically all email, web pages, and other Internet traffic is sent using TCP/IP.&lt;br /&gt;
&lt;br /&gt;
TCP is a key reason why your web traffic or email &quot;slows down&quot; but does not &quot;break&quot;.  When there is too much traffic, your packets may be discarded or lost somewhere...but not to worry! Without you even knowing it, your packets are being resent until they finally get through (and you thought you just had a &quot;good&quot; connection).&lt;br /&gt;
&lt;br /&gt;
Analogy:  TCP is like a telephone call.  If you didn&#39;t hear what the other person said, you say &quot;What?&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;UDP&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
UDP stands for &quot;User Datagram Protocol&quot;.  It is sometimes called &quot;send and pray&quot; because there is no dialog between the sender and receiver.  If the receiver does not get a packet, the sender will never know.  &quot;When the heck would I want that!&quot; you may ask.  Well, UDP is very efficient when there is little chance of errors (like in your LAN), or when TCP would provide &quot;too late&quot; delivery.  &lt;br /&gt;
&lt;br /&gt;
All VBrick video is sent via UDP.  Hey, we are sending live video, right?  If I send you video frame #1, #2, #3 .... #1000 and you display the video frames in real time as you receive them, and you didn&#39;t get frame #500, what would you do with new frame #500 if I resent it to you?  Display it after frame #1000? That wouldn&#39;t look too good, would it?&lt;br /&gt;
&lt;br /&gt;
Video is normally send via UDP.  But there is trouble with UDP now-adays.  Many corporate firewalls block all UDP packets, making it impossible for streaming video to reach desktops.  This is done to prevent hackers from getting access to the network, and is also sometimes done to prevent excessive use of bandwidth.  More on this later.&lt;br /&gt;
&lt;br /&gt;
Analogy: UDP is like a public address system.  If you didn&#39;t hear what was announced, you can&#39;t hear it again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;RTP&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
RTP stands for Real-time Transport Protocol.  It is normally sent via UDP. It does not ensure &quot;real time&quot; but is a protocol that enhances the control and synchronization of real time stuff (like streaming video).  Here is where it gets interesting:  with MPEG-1 and MPEG-2, RTP is unnecessary because MPEG itself provides synchronization (see White Paper).   Like so many standards, there are several ways to implement it.  For example, you can split apart the MPEG-1 stream and send audio on one IP address and video on another, or you can send both audio &amp;amp; video on the same address.  RTP provides timestamps that will provide audio/video sync.  VBrick has long supported RTP in the VB3000 for interoperability with other vendors.  &lt;br /&gt;
&lt;br /&gt;
In the case of MPEG-4, the only meaningful way to send audio/video is via RTP (there is nothing like a &quot;MPEG-1 System Stream&quot; nor a &quot;MPEG-2 Transport Stream&quot;).  In other words, for MPEG-4, a/v sync is provided via RTP.&lt;br /&gt;
&lt;br /&gt;
Analogy: RTP is like an orchestra leader, keeping all the musicians in sync.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;RTSP&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
RTSP stands for Real Time Streaming Protocol. RTSP is control protocol, not to be confused with IP, TCP, or UDP.  However, RTP and RTSP are linked. You could find RTP without RTSP, but you would not find RTSP without RTP.&lt;br /&gt;
&lt;br /&gt;
A good way to position RTSP in your mind is to think of it the same way you think of &quot;http&quot; and &quot;ftp&quot;.  You know, if you want to see a web page, you will enter &quot;http://something&quot;.  If you want to view a video in a player, you will enter &quot;rtsp://something&quot;.  This is only true for unicast streams, where each viewer receives their own stream from the server (i.e. from the VBrick).  RTSP is not used for multicast.&lt;br /&gt;
&lt;br /&gt;
Analogy:  RTSP is like a &quot;touch tone&quot; telephone vs. the old rotary dial telephone.  It is merely a method of signaling.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;HTTP&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The Hyper Text Transfer Protocol is often confused with the Hyper Text Markup Language.  Its description is beyond the scope of this page, and on the surface seems out of place here.  However, because virtually all firewalls allow the default http port (port 80) to pass, streaming video can be sent via http &quot;tunneling&quot;.  There is a severe penalty, since http is sent via TCP which increases the overhead by some 30% and magnifies the delay. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Unicast&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
Data (or video) can be sent via UDP or TCP, with RTP and RTSP, and can be sent via Unicast.  So, Unicast is a method, not a protocol. &lt;br /&gt;
Unicast streaming is the default method by which a Windows Media server delivers content. A unicast stream is a one-to-one connection between the server and a client, which means that each client receives a distinct stream and only those clients that request the stream receive it.&lt;br /&gt;
&lt;br /&gt;
Unicast streaming offers the benefits of interactivity between the player and server, easier setup, and multiple-bit-rate streaming capability. However, the number of users that are able to receive unicast streams is limited by the bitrate of the content and the speed of the server network. A large unicast audience can quickly overwhelm a network or server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Multicast&lt;/b&gt;&lt;br /&gt;
Multicast streaming is a one-to-many relationship between a Windows Media server and the clients receiving the stream. With a multicast stream, the server streams to a multicast IP address on the network, and all clients receive the same stream by subscribing to the IP address. &lt;br /&gt;
This is different from Unicasting, and different from broadcasting (where everyone gets the data whether they want it or not).  &amp;nbsp;You normally have a one-way connection, ruling out TCP, so Multicast is done via UDP.  There are methods in use where a receiver can signal a sender that it has received a bad packet using a different &#39;reverse channel&#39;.  This is called &quot;reliable multicast&quot; and has little value for live video transmission.&lt;br /&gt;
&lt;br /&gt;
Analogy: Distributing brochures with a sign that says &quot;Take One&quot;. Only those who want it take it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;SDP&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The Session Description Protocol, for our purposes, is a file that describes a MPEG-4 stream.  SDP files are uniquely created for each stream, whether the stream is multicast or unicast.  SDP files are put on servers to allow them to identify a stream and replicate it to viewers. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MPEG-1 and MPEG-2 both combine audio and video into a series of 1&#39;s and 0&#39;s.  Exactly how those 1&#39;s and 0&#39;s are created is defined by the MPEG standards.  So, when we say &quot;&lt;b&gt;MPEG-2 Transport Stream&lt;/b&gt;&quot;, we can look at a document and agree on what we mean. MPEG-1 and MPEG-2 are self sufficient, but they do little to specify exactly how they might be transmitted over IP.  &lt;br /&gt;
&lt;b&gt;MPEG-4&lt;/b&gt; is also self-sufficient, but rather than defining unique &quot;MPEG&quot; ways of sending video, it specifies sending the video using existing standards.&lt;br /&gt;
Among those standards are IP, RTP and RTSP.&lt;br /&gt;
You can send MPEG-4 video by wrapping the video steam in a RTP packet, wrapping the audio stream in another RTP packet, then wrapping each RTP packet in a UDP packet, then controlling the stream using RTSP.  You can encapsulate the RTP in http if necessary (via an external server).You can send MPEG-1 System and MPEG-2 Transport streams via raw UDP (this is what we normally do in LANs).  You can send MPEG-1 System Streams and MPEG-2 transport streams via RTP over UDP , e.g. stored video on demand.</content><link rel='replies' type='application/atom+xml' href='http://aucsoftwaresolutions.blogspot.com/feeds/8836692460104865549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2011/08/udp-tcp-rtp-rtsp-unicast-multicast-mpeg.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/8836692460104865549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/8836692460104865549'/><link rel='alternate' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2011/08/udp-tcp-rtp-rtsp-unicast-multicast-mpeg.html' title='UDP, TCP, RTP, RTSP, Unicast, Multicast... MPEG-1, MPEG-2, MPEG-4...'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/00276034909677348282</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6289231884114624436.post-2373181263872809830</id><published>2011-08-19T06:47:00.000-07:00</published><updated>2011-08-19T06:47:33.939-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="WPF"/><title type='text'>How to programmatically click a button - WPF</title><content type='html'>Back in WinForms it was really easy to simulate a user clicking a Button, you just call a Button’s PerformClick method.  In WPF it&#39;s not quite as intuitive as the old Windows Forms way, but it is more powerful since you can raise most events now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
System.Windows.Controls.Button btnLaunch = new Button();&lt;br /&gt;
&lt;br /&gt;
btnLaunch.RaiseEvent(new RoutedEventArgs(Button.ClickEvent, btnLaunch));&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since I love the new 3.5 Extensions, I&#39;ve made an extension method that mimics the old Windows Forms method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/// &amp;lt;summary&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/// Manally performs a &amp;lt;seealso cref=&quot;System.Windows.Controls.Button.Click&quot;/&amp;gt; event for a supplied&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/// &amp;lt;seealso cref=&quot;System.Windows.Controls.Button&quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/// &amp;lt;/summary&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/// &amp;lt;param name=&quot;btnObject&quot;&amp;gt;The &amp;lt;seealso cref=&quot;System.Windows.Controls.Button&quot;/&amp;gt; object to&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/// be clicked.&amp;lt;/param&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public static void PerformClick(this System.Windows.Controls.Button btnObject)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
btnObject.RaiseEvent(&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
new System.Windows.RoutedEventArgs(&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
System.Windows.Controls.Button.ClickEvent, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
btnObject));&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}</content><link rel='replies' type='application/atom+xml' href='http://aucsoftwaresolutions.blogspot.com/feeds/2373181263872809830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2011/08/click-wpf-button-in-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/2373181263872809830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6289231884114624436/posts/default/2373181263872809830'/><link rel='alternate' type='text/html' href='http://aucsoftwaresolutions.blogspot.com/2011/08/click-wpf-button-in-code.html' title='How to programmatically click a button - WPF'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/00276034909677348282</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>