Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Initial commit

  • Loading branch information...
commit de089bdc9182a5670e47ed477cd7a7995423e0c0 0 parents
Giorgi authored
Showing with 1,097 additions and 0 deletions.
  1. 0  .hgignore
  2. BIN  SilverlightRemoceController.Web/ClientBin/SilverlightRemoteController.xap
  3. BIN  SilverlightRemoceController.Web/ClientBin/SilverlightRemoteController.zip
  4. +35 −0 SilverlightRemoceController.Web/Properties/AssemblyInfo.cs
  5. +2 −0  SilverlightRemoceController.Web/Silverlight.js
  6. +98 −0 SilverlightRemoceController.Web/SilverlightRemoteController.Web.csproj
  7. +74 −0 SilverlightRemoceController.Web/SilverlightRemoteControllerTestPage.aspx
  8. +73 −0 SilverlightRemoceController.Web/SilverlightRemoteControllerTestPage.html
  9. +30 −0 SilverlightRemoceController.Web/Web.Debug.config
  10. +31 −0 SilverlightRemoceController.Web/Web.Release.config
  11. +13 −0 SilverlightRemoceController.Web/Web.config
  12. +9 −0 SilverlightRemoceController/AlreadyInstalled.xaml
  13. +22 −0 SilverlightRemoceController/AlreadyInstalled.xaml.cs
  14. +8 −0 SilverlightRemoceController/App.xaml
  15. +114 −0 SilverlightRemoceController/App.xaml.cs
  16. +31 −0 SilverlightRemoceController/MainPage.xaml
  17. +272 −0 SilverlightRemoceController/MainPage.xaml.cs
  18. BIN  SilverlightRemoceController/NESLSetup.msi
  19. +29 −0 SilverlightRemoceController/NativeMethods.cs
  20. +13 −0 SilverlightRemoceController/PromptInstall.xaml
  21. +27 −0 SilverlightRemoceController/PromptInstall.xaml.cs
  22. +4 −0 SilverlightRemoceController/Properties/AppManifest.xml
  23. +35 −0 SilverlightRemoceController/Properties/AssemblyInfo.cs
  24. +10 −0 SilverlightRemoceController/Properties/OutOfBrowserSettings.xml
  25. +138 −0 SilverlightRemoceController/SilverlightRemoteController.csproj
  26. BIN  SilverlightRemoceController/images/0.png
  27. BIN  SilverlightRemoceController/images/1.png
  28. BIN  SilverlightRemoceController/images/2.png
  29. BIN  SilverlightRemoceController/images/3.png
  30. BIN  SilverlightRemoceController/lib/Microsoft.Silverlight.Windows.Platform.dll
  31. BIN  SilverlightRemoceController/lib/Microsoft.Silverlight.Windows.Taskbar.dll
  32. BIN  SilverlightRemoceController/lib/Microsoft.Silverlight.Windows.dll
  33. +29 −0 SilverlightRemoteController.sln
0  .hgignore
No changes.
BIN  SilverlightRemoceController.Web/ClientBin/SilverlightRemoteController.xap
Binary file not shown
BIN  SilverlightRemoceController.Web/ClientBin/SilverlightRemoteController.zip
Binary file not shown
35 SilverlightRemoceController.Web/Properties/AssemblyInfo.cs
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("SilverlightRemoceController.Web")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("SilverlightRemoceController.Web")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("196b386e-6266-457a-b53d-7b7f4b4accd5")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
2  SilverlightRemoceController.Web/Silverlight.js
@@ -0,0 +1,2 @@
+//v2.0.30511.0
+if(!window.Silverlight)window.Silverlight={};Silverlight._silverlightCount=0;Silverlight.__onSilverlightInstalledCalled=false;Silverlight.fwlinkRoot="http://go2.microsoft.com/fwlink/?LinkID=";Silverlight.__installationEventFired=false;Silverlight.onGetSilverlight=null;Silverlight.onSilverlightInstalled=function(){window.location.reload(false)};Silverlight.isInstalled=function(b){if(b==undefined)b=null;var a=false,m=null;try{var i=null,j=false;if(window.ActiveXObject)try{i=new ActiveXObject("AgControl.AgControl");if(b===null)a=true;else if(i.IsVersionSupported(b))a=true;i=null}catch(l){j=true}else j=true;if(j){var k=navigator.plugins["Silverlight Plug-In"];if(k)if(b===null)a=true;else{var h=k.description;if(h==="1.0.30226.2")h="2.0.30226.2";var c=h.split(".");while(c.length>3)c.pop();while(c.length<4)c.push(0);var e=b.split(".");while(e.length>4)e.pop();var d,g,f=0;do{d=parseInt(e[f]);g=parseInt(c[f]);f++}while(f<e.length&&d===g);if(d<=g&&!isNaN(d))a=true}}}catch(l){a=false}return a};Silverlight.WaitForInstallCompletion=function(){if(!Silverlight.isBrowserRestartRequired&&Silverlight.onSilverlightInstalled){try{navigator.plugins.refresh()}catch(a){}if(Silverlight.isInstalled(null)&&!Silverlight.__onSilverlightInstalledCalled){Silverlight.onSilverlightInstalled();Silverlight.__onSilverlightInstalledCalled=true}else setTimeout(Silverlight.WaitForInstallCompletion,3e3)}};Silverlight.__startup=function(){navigator.plugins.refresh();Silverlight.isBrowserRestartRequired=Silverlight.isInstalled(null);if(!Silverlight.isBrowserRestartRequired){Silverlight.WaitForInstallCompletion();if(!Silverlight.__installationEventFired){Silverlight.onInstallRequired();Silverlight.__installationEventFired=true}}else if(window.navigator.mimeTypes){var b=navigator.mimeTypes["application/x-silverlight-2"],c=navigator.mimeTypes["application/x-silverlight-2-b2"],d=navigator.mimeTypes["application/x-silverlight-2-b1"],a=d;if(c)a=c;if(!b&&(d||c)){if(!Silverlight.__installationEventFired){Silverlight.onUpgradeRequired();Silverlight.__installationEventFired=true}}else if(b&&a)if(b.enabledPlugin&&a.enabledPlugin)if(b.enabledPlugin.description!=a.enabledPlugin.description)if(!Silverlight.__installationEventFired){Silverlight.onRestartRequired();Silverlight.__installationEventFired=true}}if(!Silverlight.disableAutoStartup)if(window.removeEventListener)window.removeEventListener("load",Silverlight.__startup,false);else window.detachEvent("onload",Silverlight.__startup)};if(!Silverlight.disableAutoStartup)if(window.addEventListener)window.addEventListener("load",Silverlight.__startup,false);else window.attachEvent("onload",Silverlight.__startup);Silverlight.createObject=function(m,f,e,k,l,h,j){var d={},a=k,c=l;d.version=a.version;a.source=m;d.alt=a.alt;if(h)a.initParams=h;if(a.isWindowless&&!a.windowless)a.windowless=a.isWindowless;if(a.framerate&&!a.maxFramerate)a.maxFramerate=a.framerate;if(e&&!a.id)a.id=e;delete a.ignoreBrowserVer;delete a.inplaceInstallPrompt;delete a.version;delete a.isWindowless;delete a.framerate;delete a.data;delete a.src;delete a.alt;if(Silverlight.isInstalled(d.version)){for(var b in c)if(c[b]){if(b=="onLoad"&&typeof c[b]=="function"&&c[b].length!=1){var i=c[b];c[b]=function(a){return i(document.getElementById(e),j,a)}}var g=Silverlight.__getHandlerName(c[b]);if(g!=null){a[b]=g;c[b]=null}else throw"typeof events."+b+" must be 'function' or 'string'";}slPluginHTML=Silverlight.buildHTML(a)}else slPluginHTML=Silverlight.buildPromptHTML(d);if(f)f.innerHTML=slPluginHTML;else return slPluginHTML};Silverlight.buildHTML=function(a){var b=[];b.push('<object type="application/x-silverlight" data="data:application/x-silverlight,"');if(a.id!=null)b.push(' id="'+Silverlight.HtmlAttributeEncode(a.id)+'"');if(a.width!=null)b.push(' width="'+a.width+'"');if(a.height!=null)b.push(' height="'+a.height+'"');b.push(" >");delete a.id;delete a.width;delete a.height;for(var c in a)if(a[c])b.push('<param name="'+Silverlight.HtmlAttributeEncode(c)+'" value="'+Silverlight.HtmlAttributeEncode(a[c])+'" />');b.push("</object>");return b.join("")};Silverlight.createObjectEx=function(b){var a=b,c=Silverlight.createObject(a.source,a.parentElement,a.id,a.properties,a.events,a.initParams,a.context);if(a.parentElement==null)return c};Silverlight.buildPromptHTML=function(b){var a="",d=Silverlight.fwlinkRoot,c=b.version;if(b.alt)a=b.alt;else{if(!c)c="";a="<a href='javascript:Silverlight.getSilverlight(\"{1}\");' style='text-decoration: none;'><img src='{2}' alt='Get Microsoft Silverlight' style='border-style: none'/></a>";a=a.replace("{1}",c);a=a.replace("{2}",d+"108181")}return a};Silverlight.getSilverlight=function(e){if(Silverlight.onGetSilverlight)Silverlight.onGetSilverlight();var b="",a=String(e).split(".");if(a.length>1){var c=parseInt(a[0]);if(isNaN(c)||c<2)b="1.0";else b=a[0]+"."+a[1]}var d="";if(b.match(/^\d+\056\d+$/))d="&v="+b;Silverlight.followFWLink("149156"+d)};Silverlight.followFWLink=function(a){top.location=Silverlight.fwlinkRoot+String(a)};Silverlight.HtmlAttributeEncode=function(c){var a,b="";if(c==null)return null;for(var d=0;d<c.length;d++){a=c.charCodeAt(d);if(a>96&&a<123||a>64&&a<91||a>43&&a<58&&a!=47||a==95)b=b+String.fromCharCode(a);else b=b+"&#"+a+";"}return b};Silverlight.default_error_handler=function(e,b){var d,c=b.ErrorType;d=b.ErrorCode;var a="\nSilverlight error message \n";a+="ErrorCode: "+d+"\n";a+="ErrorType: "+c+" \n";a+="Message: "+b.ErrorMessage+" \n";if(c=="ParserError"){a+="XamlFile: "+b.xamlFile+" \n";a+="Line: "+b.lineNumber+" \n";a+="Position: "+b.charPosition+" \n"}else if(c=="RuntimeError"){if(b.lineNumber!=0){a+="Line: "+b.lineNumber+" \n";a+="Position: "+b.charPosition+" \n"}a+="MethodName: "+b.methodName+" \n"}alert(a)};Silverlight.__cleanup=function(){for(var a=Silverlight._silverlightCount-1;a>=0;a--)window["__slEvent"+a]=null;Silverlight._silverlightCount=0;if(window.removeEventListener)window.removeEventListener("unload",Silverlight.__cleanup,false);else window.detachEvent("onunload",Silverlight.__cleanup)};Silverlight.__getHandlerName=function(b){var a="";if(typeof b=="string")a=b;else if(typeof b=="function"){if(Silverlight._silverlightCount==0)if(window.addEventListener)window.addEventListener("onunload",Silverlight.__cleanup,false);else window.attachEvent("onunload",Silverlight.__cleanup);var c=Silverlight._silverlightCount++;a="__slEvent"+c;window[a]=b}else a=null;return a};Silverlight.onRequiredVersionAvailable=function(){};Silverlight.onRestartRequired=function(){};Silverlight.onUpgradeRequired=function(){};Silverlight.onInstallRequired=function(){};Silverlight.IsVersionAvailableOnError=function(d,a){var b=false;try{if(a.ErrorCode==8001&&!Silverlight.__installationEventFired){Silverlight.onUpgradeRequired();Silverlight.__installationEventFired=true}else if(a.ErrorCode==8002&&!Silverlight.__installationEventFired){Silverlight.onRestartRequired();Silverlight.__installationEventFired=true}else if(a.ErrorCode==5014||a.ErrorCode==2106){if(Silverlight.__verifySilverlight2UpgradeSuccess(a.getHost()))b=true}else b=true}catch(c){}return b};Silverlight.IsVersionAvailableOnLoad=function(b){var a=false;try{if(Silverlight.__verifySilverlight2UpgradeSuccess(b.getHost()))a=true}catch(c){}return a};Silverlight.__verifySilverlight2UpgradeSuccess=function(d){var c=false,b="2.0.31005",a=null;try{if(d.IsVersionSupported(b+".99")){a=Silverlight.onRequiredVersionAvailable;c=true}else if(d.IsVersionSupported(b+".0"))a=Silverlight.onRestartRequired;else a=Silverlight.onUpgradeRequired;if(a&&!Silverlight.__installationEventFired){a();Silverlight.__installationEventFired=true}}catch(e){}return c}
98 SilverlightRemoceController.Web/SilverlightRemoteController.Web.csproj
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>
+ </ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{BFE8527D-855E-4BCD-9808-48E996188F9A}</ProjectGuid>
+ <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>SilverlightRemoceController.Web</RootNamespace>
+ <AssemblyName>SilverlightRemoceController.Web</AssemblyName>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <SilverlightApplicationList>{BFA50F41-8804-4940-ABDF-74D5C78DBA27}|..\SilverlightRemoceController\SilverlightRemoceController.csproj|ClientBin|False</SilverlightApplicationList>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Web.DynamicData" />
+ <Reference Include="System.Web.Entity" />
+ <Reference Include="System.Web.ApplicationServices" />
+ <Reference Include="System" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="System.Web.Extensions" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.Web" />
+ <Reference Include="System.Xml" />
+ <Reference Include="System.Configuration" />
+ <Reference Include="System.Web.Services" />
+ <Reference Include="System.EnterpriseServices" />
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="ClientBin\SilverlightRemoteController.xap" />
+ <Content Include="Silverlight.js" />
+ <Content Include="SilverlightRemoteControllerTestPage.aspx" />
+ <Content Include="SilverlightRemoteControllerTestPage.html" />
+ <Content Include="Web.config" />
+ <Content Include="Web.Debug.config">
+ <DependentUpon>Web.config</DependentUpon>
+ </Content>
+ <Content Include="Web.Release.config">
+ <DependentUpon>Web.config</DependentUpon>
+ </Content>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup />
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+ <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
+ <ProjectExtensions>
+ <VisualStudio>
+ <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
+ <WebProjectProperties>
+ <UseIIS>False</UseIIS>
+ <AutoAssignPort>True</AutoAssignPort>
+ <DevelopmentServerPort>50209</DevelopmentServerPort>
+ <DevelopmentServerVPath>/</DevelopmentServerVPath>
+ <IISUrl>
+ </IISUrl>
+ <NTLMAuthentication>False</NTLMAuthentication>
+ <UseCustomServer>False</UseCustomServer>
+ <CustomServerUrl>
+ </CustomServerUrl>
+ <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
+ </WebProjectProperties>
+ </FlavorProperties>
+ </VisualStudio>
+ </ProjectExtensions>
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project>
74 SilverlightRemoceController.Web/SilverlightRemoteControllerTestPage.aspx
@@ -0,0 +1,74 @@
+<%@ Page Language="C#" AutoEventWireup="true" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" >
+<head runat="server">
+ <title>SilverlightRemoteController</title>
+ <style type="text/css">
+ html, body {
+ height: 100%;
+ overflow: auto;
+ }
+ body {
+ padding: 0;
+ margin: 0;
+ }
+ #silverlightControlHost {
+ height: 100%;
+ text-align:center;
+ }
+ </style>
+ <script type="text/javascript" src="Silverlight.js"></script>
+ <script type="text/javascript">
+ function onSilverlightError(sender, args) {
+ var appSource = "";
+ if (sender != null && sender != 0) {
+ appSource = sender.getHost().Source;
+ }
+
+ var errorType = args.ErrorType;
+ var iErrorCode = args.ErrorCode;
+
+ if (errorType == "ImageError" || errorType == "MediaError") {
+ return;
+ }
+
+ var errMsg = "Unhandled Error in Silverlight Application " + appSource + "\n" ;
+
+ errMsg += "Code: "+ iErrorCode + " \n";
+ errMsg += "Category: " + errorType + " \n";
+ errMsg += "Message: " + args.ErrorMessage + " \n";
+
+ if (errorType == "ParserError") {
+ errMsg += "File: " + args.xamlFile + " \n";
+ errMsg += "Line: " + args.lineNumber + " \n";
+ errMsg += "Position: " + args.charPosition + " \n";
+ }
+ else if (errorType == "RuntimeError") {
+ if (args.lineNumber != 0) {
+ errMsg += "Line: " + args.lineNumber + " \n";
+ errMsg += "Position: " + args.charPosition + " \n";
+ }
+ errMsg += "MethodName: " + args.methodName + " \n";
+ }
+
+ throw new Error(errMsg);
+ }
+ </script>
+</head>
+<body>
+ <form id="form1" runat="server" style="height:100%">
+ <div id="silverlightControlHost">
+ <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
+ <param name="source" value="ClientBin/SilverlightRemoteController.xap"/>
+ <param name="onError" value="onSilverlightError" />
+ <param name="background" value="white" />
+ <param name="minRuntimeVersion" value="4.0.50826.0" />
+ <param name="autoUpgrade" value="true" />
+ <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" style="text-decoration:none">
+ <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
+ </a>
+ </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
+ </form>
+</body>
+</html>
73 SilverlightRemoceController.Web/SilverlightRemoteControllerTestPage.html
@@ -0,0 +1,73 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" >
+
+<head>
+ <title>SilverlightRemoteController</title>
+ <style type="text/css">
+ html, body {
+ height: 100%;
+ overflow: auto;
+ }
+ body {
+ padding: 0;
+ margin: 0;
+ }
+ #silverlightControlHost {
+ height: 100%;
+ text-align:center;
+ }
+ </style>
+ <script type="text/javascript" src="Silverlight.js"></script>
+ <script type="text/javascript">
+ function onSilverlightError(sender, args) {
+ var appSource = "";
+ if (sender != null && sender != 0) {
+ appSource = sender.getHost().Source;
+ }
+
+ var errorType = args.ErrorType;
+ var iErrorCode = args.ErrorCode;
+
+ if (errorType == "ImageError" || errorType == "MediaError") {
+ return;
+ }
+
+ var errMsg = "Unhandled Error in Silverlight Application " + appSource + "\n" ;
+
+ errMsg += "Code: "+ iErrorCode + " \n";
+ errMsg += "Category: " + errorType + " \n";
+ errMsg += "Message: " + args.ErrorMessage + " \n";
+
+ if (errorType == "ParserError") {
+ errMsg += "File: " + args.xamlFile + " \n";
+ errMsg += "Line: " + args.lineNumber + " \n";
+ errMsg += "Position: " + args.charPosition + " \n";
+ }
+ else if (errorType == "RuntimeError") {
+ if (args.lineNumber != 0) {
+ errMsg += "Line: " + args.lineNumber + " \n";
+ errMsg += "Position: " + args.charPosition + " \n";
+ }
+ errMsg += "MethodName: " + args.methodName + " \n";
+ }
+
+ throw new Error(errMsg);
+ }
+ </script>
+</head>
+<body>
+ <form id="form1" runat="server" style="height:100%">
+ <div id="silverlightControlHost">
+ <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
+ <param name="source" value="SilverlightRemoteController.xap"/>
+ <param name="onError" value="onSilverlightError" />
+ <param name="background" value="white" />
+ <param name="minRuntimeVersion" value="4.0.50826.0" />
+ <param name="autoUpgrade" value="true" />
+ <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" style="text-decoration:none">
+ <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
+ </a>
+ </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
+ </form>
+</body>
+</html>
30 SilverlightRemoceController.Web/Web.Debug.config
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+
+<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
+
+<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
+ <!--
+ In the example below, the "SetAttributes" transform will change the value of
+ "connectionString" to use "ReleaseSQLServer" only when the "Match" locator
+ finds an atrribute "name" that has a value of "MyDB".
+
+ <connectionStrings>
+ <add name="MyDB"
+ connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
+ xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
+ </connectionStrings>
+ -->
+ <system.web>
+ <!--
+ In the example below, the "Replace" transform will replace the entire
+ <customErrors> section of your web.config file.
+ Note that because there is only one customErrors section under the
+ <system.web> node, there is no need to use the "xdt:Locator" attribute.
+
+ <customErrors defaultRedirect="GenericError.htm"
+ mode="RemoteOnly" xdt:Transform="Replace">
+ <error statusCode="500" redirect="InternalError.htm"/>
+ </customErrors>
+ -->
+ </system.web>
+</configuration>
31 SilverlightRemoceController.Web/Web.Release.config
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+
+<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
+
+<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
+ <!--
+ In the example below, the "SetAttributes" transform will change the value of
+ "connectionString" to use "ReleaseSQLServer" only when the "Match" locator
+ finds an atrribute "name" that has a value of "MyDB".
+
+ <connectionStrings>
+ <add name="MyDB"
+ connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
+ xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
+ </connectionStrings>
+ -->
+ <system.web>
+ <compilation xdt:Transform="RemoveAttributes(debug)" />
+ <!--
+ In the example below, the "Replace" transform will replace the entire
+ <customErrors> section of your web.config file.
+ Note that because there is only one customErrors section under the
+ <system.web> node, there is no need to use the "xdt:Locator" attribute.
+
+ <customErrors defaultRedirect="GenericError.htm"
+ mode="RemoteOnly" xdt:Transform="Replace">
+ <error statusCode="500" redirect="InternalError.htm"/>
+ </customErrors>
+ -->
+ </system.web>
+</configuration>
13 SilverlightRemoceController.Web/Web.config
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+
+<!--
+ For more information on how to configure your ASP.NET application, please visit
+ http://go.microsoft.com/fwlink/?LinkId=169433
+ -->
+
+<configuration>
+ <system.web>
+ <compilation debug="true" targetFramework="4.0" />
+ </system.web>
+
+</configuration>
9 SilverlightRemoceController/AlreadyInstalled.xaml
@@ -0,0 +1,9 @@
+<UserControl x:Class="SilverlightRemoteController.AlreadyInstalled"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ mc:Ignorable="d"
+ d:DesignHeight="300" d:DesignWidth="400">
+ <TextBlock Height="64" Name="textBlock1" Text="The Application is already installed. Please use the shortcuts to launch it." Width="263" TextWrapping="Wrap" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Center" />
+</UserControl>
22 SilverlightRemoceController/AlreadyInstalled.xaml.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Shapes;
+
+namespace SilverlightRemoteController
+{
+ public partial class AlreadyInstalled : UserControl
+ {
+ public AlreadyInstalled()
+ {
+ InitializeComponent();
+ }
+ }
+}
8 SilverlightRemoceController/App.xaml
@@ -0,0 +1,8 @@
+<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ x:Class="SilverlightRemoteController.App"
+ >
+ <Application.Resources>
+
+ </Application.Resources>
+</Application>
114 SilverlightRemoceController/App.xaml.cs
@@ -0,0 +1,114 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Shapes;
+
+using Microsoft.Silverlight.Windows;
+
+namespace SilverlightRemoteController
+{
+ public partial class App : Application
+ {
+
+ public App()
+ {
+ this.Startup += this.Application_Startup;
+ this.Exit += this.Application_Exit;
+ this.UnhandledException += this.Application_UnhandledException;
+ App.Current.InstallStateChanged += CurrentInstallStateChanged;
+ InitializeComponent();
+ }
+
+ private void CurrentInstallStateChanged(object sender, EventArgs e)
+ {
+ if (Current.InstallState == InstallState.Installed)
+ {
+ RootVisual = new AlreadyInstalled();
+ }
+
+ if (Current.InstallState == InstallState.NotInstalled)
+ {
+ RootVisual = new PromptInstall();
+ }
+ }
+
+ private void Application_Startup(object sender, StartupEventArgs e)
+ {
+ if (App.Current.InstallState != InstallState.Installed)
+ {
+ RootVisual = new PromptInstall();
+ }
+ else
+ {
+ if (App.Current.InstallState == InstallState.Installed && !App.Current.IsRunningOutOfBrowser)
+ {
+ RootVisual = new AlreadyInstalled();
+ }
+ else
+ {
+ if (Installer.CheckNESLInstalled(1, 0))
+ {
+ RootVisual = new MainPage();
+ }
+ else
+ {
+ MessageBox.Show("Native Extensions For Microsoft Silverlight Is Not Installed");
+ Installer.InstallNESL(new Uri("NESLSetup.msi", UriKind.Relative), false);
+
+ if (Installer.CheckNESLInstalled(1, 0))
+ {
+ RootVisual = new MainPage();
+ }
+ else
+ {
+ MessageBox.Show("Native Extensions For Microsoft Silverlight Could Not Be Installed");
+ }
+ }
+ }
+ }
+ }
+
+ private void Application_Exit(object sender, EventArgs e)
+ {
+
+ }
+
+ private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
+ {
+ // If the app is running outside of the debugger then report the exception using
+ // the browser's exception mechanism. On IE this will display it a yellow alert
+ // icon in the status bar and Firefox will display a script error.
+ if (!System.Diagnostics.Debugger.IsAttached)
+ {
+
+ // NOTE: This will allow the application to continue running after an exception has been thrown
+ // but not handled.
+ // For production applications this error handling should be replaced with something that will
+ // report the error to the website and stop the application.
+ e.Handled = true;
+ Deployment.Current.Dispatcher.BeginInvoke(delegate { ReportErrorToDOM(e); });
+ }
+ }
+
+ private void ReportErrorToDOM(ApplicationUnhandledExceptionEventArgs e)
+ {
+ try
+ {
+ string errorMsg = e.ExceptionObject.Message + e.ExceptionObject.StackTrace;
+ errorMsg = errorMsg.Replace('"', '\'').Replace("\r\n", @"\n");
+
+ System.Windows.Browser.HtmlPage.Window.Eval("throw new Error(\"Unhandled Error in Silverlight Application " + errorMsg + "\");");
+ }
+ catch (Exception)
+ {
+ }
+ }
+ }
+}
31 SilverlightRemoceController/MainPage.xaml
@@ -0,0 +1,31 @@
+<UserControl x:Class="SilverlightRemoteController.MainPage"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="400" KeyDown="SlideShowKeyDown">
+
+ <UserControl.Resources>
+ <Storyboard x:Name="FadeOutAnimation">
+ <DoubleAnimation Duration="00:00:00.50" From="1" To="0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="theImage" Completed="FadeOutCompleted" />
+ </Storyboard>
+ <Storyboard x:Name="FadeInAnimation">
+ <DoubleAnimation Duration="00:00:00.50" From="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="theImage" />
+ </Storyboard>
+ </UserControl.Resources>
+
+ <Grid x:Name="LayoutRoot" Background="White">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="60" />
+ <RowDefinition Height="100*" />
+ <RowDefinition Height="35" />
+ </Grid.RowDefinitions>
+ <Button Content="Choose images for slideshow" Height="47" HorizontalAlignment="Left" Name="browseButton" VerticalAlignment="Center" Width="195"
+ Click="BrowseButtonClick" Margin="12,0,0,0" />
+ <Image HorizontalAlignment="Stretch" Margin="12,4,12,4" Name="theImage" Stretch="Fill" VerticalAlignment="Stretch" Grid.Row="1" />
+ <Button Content="Pause" Height="23" HorizontalAlignment="Left" Margin="12,5,0,0" Name="pauseButton" VerticalAlignment="Top" Width="75" Grid.Row="2" Click="PauseButtonClick" />
+ <Button Content="Resume" Height="23" HorizontalAlignment="Left" Margin="102,5,0,0" Name="resumeButton" VerticalAlignment="Top" Width="75" Grid.Row="2" IsEnabled="False" Click="ResumeButtonClick" />
+ <Button Content="Previous" Height="23" HorizontalAlignment="Left" Margin="192,5,0,0" Name="previousButton" VerticalAlignment="Top" Width="75" Grid.Row="2" Click="PreviousButtonClick" />
+ <Button Content="Next" Height="23" HorizontalAlignment="Left" Margin="282,5,0,0" Name="nextButton" VerticalAlignment="Top" Width="75" Grid.Row="2" Click="NextButtonClick" />
+ </Grid>
+</UserControl>
272 SilverlightRemoceController/MainPage.xaml.cs
@@ -0,0 +1,272 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.IO;
+using System.Linq;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Input;
+using System.Windows.Media.Imaging;
+using System.Windows.Resources;
+using System.Windows.Threading;
+
+using Microsoft.Silverlight.Windows.Platform;
+using Microsoft.Silverlight.Windows.Taskbar;
+
+using Stream = System.IO.Stream;
+
+namespace SilverlightRemoteController
+{
+ public partial class MainPage : UserControl
+ {
+ DispatcherTimer timer = new DispatcherTimer();
+ private int currentIndex;
+ IList<FileInfo> files = new List<FileInfo>();
+ List<ThumbbarButton> taskbarButtons = new List<ThumbbarButton>(4);
+ private bool paused;
+
+ public MainPage()
+ {
+ InitializeComponent();
+ timer.Interval = TimeSpan.FromSeconds(5);
+ timer.Tick += TimerTick;
+
+ CreateTaskbarButtons();
+
+ WindowMessageInterceptor.Current.WindowMessage += WindowMessage;
+ WindowMessageInterceptor.Current.CommandMessage += CommandMessage;
+ WindowMessageInterceptor.Current.AddMessageIntercept(NativeMethods.WM_APPCOMMAND);
+ WindowMessageInterceptor.Current.AddCommandMessageIntercept(NativeMethods.THBN_CLICKED);
+ }
+
+ private void CreateTaskbarButtons()
+ {
+ for (int i = 0; i < 4; i++)
+ {
+ var thumbbarButton = TaskbarButton.Current.CreateThumbbarButton((uint)(i + 1));
+ thumbbarButton.Flags = THUMBBUTTONFLAGS.THBF_ENABLED;
+
+ thumbbarButton.ImageDataType = ButtonImageDataType.PNG;
+ StreamResourceInfo resourceInfo = Application.GetResourceStream(new Uri(string.Format("images/{0}.png", i), UriKind.Relative));
+ using (var br = new BinaryReader(resourceInfo.Stream))
+ {
+ thumbbarButton.Image = br.ReadBytes((int)resourceInfo.Stream.Length);
+ }
+
+ taskbarButtons.Add(thumbbarButton);
+ }
+
+ taskbarButtons[0].Tooltip = "First Image";
+ taskbarButtons[1].Tooltip = "Previous Image";
+ taskbarButtons[2].Tooltip = "Next Image";
+ taskbarButtons[3].Tooltip = "Last Image";
+ TaskbarButton.Current.ShowThumbbarButtons();
+ }
+
+ private void CommandMessage(object sender, CommandMessageEventArgs e)
+ {
+ if (e.NotifyCode != NativeMethods.THBN_CLICKED)
+ {
+ return;
+ }
+
+ switch (e.ControlID)
+ {
+ case 1:
+ FirstImage();
+ break;
+ case 2:
+ PreviousImage();
+ break;
+ case 3:
+ NextImage();
+ break;
+ case 4:
+ LastImage();
+ break;
+ }
+ }
+
+ private void WindowMessage(object sender, WindowMessageEventArgs e)
+ {
+ if (e.Message == NativeMethods.WM_APPCOMMAND)
+ {
+ int cmd = NativeMethods.GET_APPCOMMAND_LPARAM(e.lParam);
+ switch (cmd)
+ {
+ case NativeMethods.APPCOMMAND_MEDIA_PLAY:
+ ResumeSlideShow();
+ break;
+ case NativeMethods.APPCOMMAND_MEDIA_PAUSE:
+ PauseSlideShow();
+ break;
+ case NativeMethods.APPCOMMAND_MEDIA_PLAY_PAUSE:
+ PlayPauseSlideShow();
+ break;
+ }
+ }
+ }
+
+ private void SwitchImage()
+ {
+ currentIndex = (currentIndex + 1) % files.Count;
+
+ FadeOutAnimation.Begin();
+ }
+
+ private void SetImageSource(int index)
+ {
+ using (Stream stream = files[index].OpenRead())
+ {
+ var bi = new BitmapImage();
+ bi.SetSource(stream);
+ theImage.Source = bi;
+ }
+ TaskbarButton.Current.SetProgressValue((ulong)index + 1, (ulong)files.Count);
+ }
+
+ private void TimerTick(object sender, EventArgs e)
+ {
+ SwitchImage();
+ }
+
+ private void FadeOutCompleted(object sender, EventArgs e)
+ {
+ SetImageSource(currentIndex);
+ FadeInAnimation.Begin();
+ }
+
+ private void BrowseButtonClick(object sender, RoutedEventArgs e)
+ {
+ var openFileDialog = new OpenFileDialog
+ {
+ Multiselect = true,
+ Filter = "Images |*.jpg;*.jpeg;*.bmp;*.png"
+ };
+
+ if (openFileDialog.ShowDialog() == true)
+ {
+ files = openFileDialog.Files.ToList();
+ SetImageSource(0);
+ currentIndex = 0;
+ timer.Start();
+ }
+ }
+
+
+ private void PauseButtonClick(object sender, RoutedEventArgs e)
+ {
+ PauseSlideShow();
+ }
+
+ private void ResumeButtonClick(object sender, RoutedEventArgs e)
+ {
+ ResumeSlideShow();
+ }
+
+ private void PreviousButtonClick(object sender, RoutedEventArgs e)
+ {
+ PreviousImage();
+ }
+
+ private void NextButtonClick(object sender, RoutedEventArgs e)
+ {
+ NextImage();
+ }
+
+
+ private void SlideShowKeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.Key == Key.Left)
+ {
+ PreviousImage();
+ }
+
+ if (e.Key == Key.Right)
+ {
+ NextImage();
+ }
+ }
+
+
+ private void PauseSlideShow()
+ {
+ pauseButton.IsEnabled = false;
+ resumeButton.IsEnabled = true;
+
+ timer.Stop();
+ paused = true;
+
+ TaskbarButton.Current.SetProgressState(TaskbarItemProgressState.Paused);
+ }
+
+ private void ResumeSlideShow()
+ {
+ pauseButton.IsEnabled = true;
+ resumeButton.IsEnabled = false;
+
+ SwitchImage();
+ timer.Start();
+ paused = false;
+
+ TaskbarButton.Current.SetProgressState(TaskbarItemProgressState.Normal);
+ }
+
+ private void PlayPauseSlideShow()
+ {
+ if (paused)
+ {
+ ResumeSlideShow();
+ }
+ else
+ {
+ PauseSlideShow();
+ }
+ }
+
+ private void PreviousImage()
+ {
+ currentIndex = currentIndex == 0 ? files.Count - 2 : currentIndex - 2;
+
+ SwitchImage();
+
+ if (!paused)
+ {
+ timer.Restart();
+ }
+ }
+
+ private void NextImage()
+ {
+ SwitchImage();
+
+ if (!paused)
+ {
+ timer.Restart();
+ }
+ }
+
+ private void FirstImage()
+ {
+ currentIndex = -1;
+ SwitchImage();
+ timer.Restart();
+ }
+
+ private void LastImage()
+ {
+ currentIndex = files.Count - 2;
+ SwitchImage();
+ timer.Restart();
+ }
+ }
+
+ static class TimerEx
+ {
+ public static void Restart(this DispatcherTimer timer)
+ {
+ timer.Stop();
+ timer.Start();
+ }
+ }
+}
BIN  SilverlightRemoceController/NESLSetup.msi
Binary file not shown
29 SilverlightRemoceController/NativeMethods.cs
@@ -0,0 +1,29 @@
+namespace SilverlightRemoteController
+{
+ public class NativeMethods
+ {
+ public const int WM_APPCOMMAND = 0x0319;
+ public const int WM_KEYDOWN = 0x0100;
+
+ public const int VK_LEFT = 0x25;
+ public const int VK_RIGHT = 0x27;
+ public const int WM_GETDLGCODE = 0x0087;
+ public const int THBN_CLICKED = 0x1800;
+
+ const int FAPPCOMMAND_MASK = 0xF000;
+
+ public const int APPCOMMAND_MEDIA_PLAY_PAUSE = 14;
+ public const int APPCOMMAND_MEDIA_PLAY = 46;
+ public const int APPCOMMAND_MEDIA_PAUSE = 47;
+
+ public static int GET_APPCOMMAND_LPARAM(int Lparam)
+ {
+ return (short)(HIWORD(Lparam) & ~FAPPCOMMAND_MASK);
+ }
+
+ private static int HIWORD(int lparam)
+ {
+ return ((lparam >> 16) & 0xffff);
+ }
+ }
+}
13 SilverlightRemoceController/PromptInstall.xaml
@@ -0,0 +1,13 @@
+<UserControl x:Class="SilverlightRemoteController.PromptInstall"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ mc:Ignorable="d"
+ d:DesignHeight="165" d:DesignWidth="280">
+
+ <Button Content="Install" Height="70" HorizontalAlignment="Center" Name="installButton" VerticalAlignment="Center" Width="128" Click="installButton_Click" />
+ <!--<Grid x:Name="LayoutRoot" Background="White" Height="130" Width="214">
+ <Button Content="Install" Height="23" HorizontalAlignment="Center" Margin="73,46,0,0" Name="installButton" VerticalAlignment="Center" Width="75" Click="installButton_Click" />
+ </Grid>-->
+</UserControl>
27 SilverlightRemoceController/PromptInstall.xaml.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Shapes;
+
+namespace SilverlightRemoteController
+{
+ public partial class PromptInstall : UserControl
+ {
+ public PromptInstall()
+ {
+ InitializeComponent();
+ }
+
+ private void installButton_Click(object sender, RoutedEventArgs e)
+ {
+ Application.Current.Install();
+ }
+ }
+}
4 SilverlightRemoceController/Properties/AppManifest.xml
@@ -0,0 +1,4 @@
+<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ EntryPointAssembly="SilverlightRemoteController" EntryPointType="SilverlightRemoteController.App" RuntimeVersion="4.0.50826.0">
+
+</Deployment>
35 SilverlightRemoceController/Properties/AssemblyInfo.cs
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Silverlight Remote Controller")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("Silverlight Remote Controller")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("24485447-27f6-49c2-bd31-181f3ff4b092")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
10 SilverlightRemoceController/Properties/OutOfBrowserSettings.xml
@@ -0,0 +1,10 @@
+<OutOfBrowserSettings ShortName="Silverlight Remote Controller Application" EnableGPUAcceleration="False" ShowInstallMenuItem="True">
+ <OutOfBrowserSettings.Blurb>Silverlight Remote Controller Application on your desktop; at home, at work or on the go.</OutOfBrowserSettings.Blurb>
+ <OutOfBrowserSettings.WindowSettings>
+ <WindowSettings Title="SilverlightRemoteController Application" />
+ </OutOfBrowserSettings.WindowSettings>
+ <OutOfBrowserSettings.SecuritySettings>
+ <SecuritySettings ElevatedPermissions="Required" />
+ </OutOfBrowserSettings.SecuritySettings>
+ <OutOfBrowserSettings.Icons />
+</OutOfBrowserSettings>
138 SilverlightRemoceController/SilverlightRemoteController.csproj
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>8.0.50727</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{BFA50F41-8804-4940-ABDF-74D5C78DBA27}</ProjectGuid>
+ <ProjectTypeGuids>{A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>SilverlightRemoteController</RootNamespace>
+ <AssemblyName>SilverlightRemoteController</AssemblyName>
+ <TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
+ <SilverlightApplication>true</SilverlightApplication>
+ <SupportedCultures>
+ </SupportedCultures>
+ <XapOutputs>true</XapOutputs>
+ <GenerateSilverlightManifest>true</GenerateSilverlightManifest>
+ <XapFilename>SilverlightRemoteController.xap</XapFilename>
+ <SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
+ <SilverlightAppEntry>SilverlightRemoteController.App</SilverlightAppEntry>
+ <TestPageFileName>SilverlightRemoceControllerTestPage.html</TestPageFileName>
+ <CreateTestPage>true</CreateTestPage>
+ <ValidateXaml>true</ValidateXaml>
+ <EnableOutOfBrowser>true</EnableOutOfBrowser>
+ <OutOfBrowserSettingsFile>Properties\OutOfBrowserSettings.xml</OutOfBrowserSettingsFile>
+ <UsePlatformExtensions>false</UsePlatformExtensions>
+ <ThrowErrorsInValidation>true</ThrowErrorsInValidation>
+ <LinkedServerProject>
+ </LinkedServerProject>
+ </PropertyGroup>
+ <!-- This property group is only here to support building this project using the
+ MSBuild 3.5 toolset. In order to work correctly with this older toolset, it needs
+ to set the TargetFrameworkVersion to v3.5 -->
+ <PropertyGroup Condition="'$(MSBuildToolsVersion)' == '3.5'">
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>Bin\Debug</OutputPath>
+ <DefineConstants>DEBUG;TRACE;SILVERLIGHT</DefineConstants>
+ <NoStdLib>true</NoStdLib>
+ <NoConfig>true</NoConfig>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>Bin\Release</OutputPath>
+ <DefineConstants>TRACE;SILVERLIGHT</DefineConstants>
+ <NoStdLib>true</NoStdLib>
+ <NoConfig>true</NoConfig>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="Microsoft.Silverlight.Windows">
+ <HintPath>lib\Microsoft.Silverlight.Windows.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.Silverlight.Windows.Platform">
+ <HintPath>lib\Microsoft.Silverlight.Windows.Platform.dll</HintPath>
+ </Reference>
+ <Reference Include="Microsoft.Silverlight.Windows.Taskbar">
+ <HintPath>lib\Microsoft.Silverlight.Windows.Taskbar.dll</HintPath>
+ </Reference>
+ <Reference Include="mscorlib" />
+ <Reference Include="System.Windows" />
+ <Reference Include="system" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Windows.Browser" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="AlreadyInstalled.xaml.cs">
+ <DependentUpon>AlreadyInstalled.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="App.xaml.cs">
+ <DependentUpon>App.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="MainPage.xaml.cs">
+ <DependentUpon>MainPage.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="NativeMethods.cs" />
+ <Compile Include="PromptInstall.xaml.cs">
+ <DependentUpon>PromptInstall.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <ApplicationDefinition Include="App.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </ApplicationDefinition>
+ <Page Include="AlreadyInstalled.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="MainPage.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="PromptInstall.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="images\0.png" />
+ <Content Include="images\1.png" />
+ <Content Include="images\2.png" />
+ <Content Include="images\3.png" />
+ <Content Include="NESLSetup.msi" />
+ <Content Include="Properties\AppManifest.xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Properties\OutOfBrowserSettings.xml" />
+ </ItemGroup>
+ <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+ <ProjectExtensions>
+ <VisualStudio>
+ <FlavorProperties GUID="{A1591282-1198-4647-A2B1-27E5FF5F6F3B}">
+ <SilverlightProjectProperties />
+ </FlavorProperties>
+ </VisualStudio>
+ </ProjectExtensions>
+</Project>
BIN  SilverlightRemoceController/images/0.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  SilverlightRemoceController/images/1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  SilverlightRemoceController/images/2.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  SilverlightRemoceController/images/3.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  SilverlightRemoceController/lib/Microsoft.Silverlight.Windows.Platform.dll
Binary file not shown
BIN  SilverlightRemoceController/lib/Microsoft.Silverlight.Windows.Taskbar.dll
Binary file not shown
BIN  SilverlightRemoceController/lib/Microsoft.Silverlight.Windows.dll
Binary file not shown
29 SilverlightRemoteController.sln
@@ -0,0 +1,29 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SilverlightRemoteController", "SilverlightRemoceController\SilverlightRemoteController.csproj", "{BFA50F41-8804-4940-ABDF-74D5C78DBA27}"
+ ProjectSection(ProjectDependencies) = postProject
+ {BFE8527D-855E-4BCD-9808-48E996188F9A} = {BFE8527D-855E-4BCD-9808-48E996188F9A}
+ EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SilverlightRemoteController.Web", "SilverlightRemoceController.Web\SilverlightRemoteController.Web.csproj", "{BFE8527D-855E-4BCD-9808-48E996188F9A}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {BFA50F41-8804-4940-ABDF-74D5C78DBA27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BFA50F41-8804-4940-ABDF-74D5C78DBA27}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BFA50F41-8804-4940-ABDF-74D5C78DBA27}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BFA50F41-8804-4940-ABDF-74D5C78DBA27}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BFE8527D-855E-4BCD-9808-48E996188F9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BFE8527D-855E-4BCD-9808-48E996188F9A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BFE8527D-855E-4BCD-9808-48E996188F9A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BFE8527D-855E-4BCD-9808-48E996188F9A}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
Please sign in to comment.
Something went wrong with that request. Please try again.