# HG changeset patch # User StephaneLenclud # Date 1446219933 -3600 # Node ID 151e11cac3b2885c19a87708486f0e85b9996524 # Parent f59d913ae7a95a5f6db1778ca8f9d34565846b87 Migration to SharpLibDisplay. diff -r f59d913ae7a9 -r 151e11cac3b2 Client/Client.cs --- a/Client/Client.cs Tue Sep 29 18:38:36 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,325 +0,0 @@ -// -// Copyright (C) 2014-2015 Stéphane Lenclud. -// -// This file is part of SharpDisplayManager. -// -// SharpDisplayManager is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// SharpDisplayManager is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with SharpDisplayManager. If not, see . -// - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; -using SharpDisplay; -using System.ServiceModel; -using System.ServiceModel.Channels; - - -namespace SharpDisplayClient -{ - /// - /// Client side Sharp Display callback implementation. - /// - [ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple)] - public class Callback : ICallback, IDisposable - { - private MainForm MainForm { get; set; } - - public Callback(MainForm aMainForm) - { - MainForm = aMainForm; - } - - /// - /// Not used I believe. - /// - public void OnConnected() - { - //Debug.Assert(Thread.CurrentThread.IsThreadPoolThread); - //Trace.WriteLine("Callback thread = " + Thread.CurrentThread.ManagedThreadId); - - MessageBox.Show("OnConnected()", "Client"); - } - - - public void OnCloseOrder() - { - //Debug.Assert(Thread.CurrentThread.IsThreadPoolThread); - //Trace.WriteLine("Callback thread = " + Thread.CurrentThread.ManagedThreadId); - - //MessageBox.Show("OnServerClosing()", "Client"); - MainForm.CloseConnectionThreadSafe(); - MainForm.CloseThreadSafe(); - } - - //From IDisposable - public void Dispose() - { - - } - } - - - /// - /// Client side implementation of our Sharp Display Service. - /// - [ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple)] - public class Client : DuplexClientBase - { - public string SessionId { get { return InnerChannel.SessionId; } } - - public Client(ICallback aCallback) - : base(new InstanceContext(aCallback), new NetTcpBinding(SecurityMode.None, true), new EndpointAddress("net.tcp://localhost:8001/DisplayService")) - { } - - public void SetName(string aClientName) - { - Channel.SetName(aClientName); - } - - public void SetLayout(TableLayout aLayout) - { - Channel.SetLayout(aLayout); - } - - public void SetField(DataField aField) - { - Channel.SetField(aField); - } - - public void SetFields(System.Collections.Generic.IList aFields) - { - Channel.SetFields(aFields); - } - - public int ClientCount() - { - return Channel.ClientCount(); - } - - public bool IsReady() - { - return State == CommunicationState.Opened || State == CommunicationState.Created; - } - } - - - /// - /// Handle connection with our Sharp Display Server. - /// If the connection is faulted it will attempt to restart it. - /// - public class DisplayClient - { - private Client iClient; - private Callback iCallback; - private bool resetingConnection = false; - - private MainForm MainForm { get; set; } - public string SessionId { get { return iClient.SessionId; } } - public string Name { get; private set; } - private TableLayout Layout { get; set; } - private System.Collections.Generic.IList Fields { get; set; } - - - public DisplayClient(MainForm aMainForm) - { - MainForm = aMainForm; - Name = ""; - Fields = new DataField[]{}; - } - - /// - /// Initialize our server connection. - /// - public void Open() - { - iCallback = new Callback(MainForm); - iClient = new Client(iCallback); - } - - /// - /// Terminate our server connection. - /// - public void Close() - { - iClient.Close(); - iClient = null; - iCallback.Dispose(); - iCallback = null; - } - - /// - /// Tells whether a server connection is available. - /// - /// True if a server connection is available. False otherwise. - public bool IsReady() - { - return (iClient != null && iCallback != null && iClient.IsReady()); - } - - /// - /// Check if our server connection is available and attempt reset it if it isn't. - /// This is notably dealing with timed out connections. - /// - public void CheckConnection() - { - if (!IsReady() && !resetingConnection) - { - //Try to reconnect - Open(); - - //Avoid stack overflow in case of persisting failure - resetingConnection = true; - - try - { - //On reconnect there is a bunch of properties we need to reset - if (Name != "") - { - iClient.SetName(Name); - } - - SetLayout(Layout); - iClient.SetFields(Fields); - } - finally - { - //Make sure our this state does not get out of sync - resetingConnection = true; - } - } - } - - /// - /// Set our client's name. - /// Client's name is typically user friendly. - /// It does not have to be unique. - /// - /// Our client name. - public void SetName(string aClientName) - { - Name = aClientName; - CheckConnection(); - iClient.SetName(aClientName); - } - - /// - /// Set your client fields' layout. - /// - /// The layout to apply for this client. - public void SetLayout(TableLayout aLayout) - { - Layout = aLayout; - CheckConnection(); - iClient.SetLayout(aLayout); - } - - /// - /// Set the specified field. - /// - /// - /// True if the specified field was set client side. False means you need to redefine all your fields using CreateFields. - public bool SetField(DataField aField) - { - int i = 0; - bool fieldFound = false; - foreach (DataField field in Fields) - { - if (field.Index == aField.Index) - { - //Update our field then - Fields[i] = aField; - fieldFound = true; - break; - } - i++; - } - - if (!fieldFound) - { - //Field not found, make sure to use CreateFields first after setting your layout. - return false; - } - - CheckConnection(); - iClient.SetField(aField); - return true; - } - - /// - /// Use this function when updating existing fields. - /// - /// - public bool SetFields(System.Collections.Generic.IList aFields) - { - int fieldFoundCount = 0; - foreach (DataField fieldUpdate in aFields) - { - int i = 0; - foreach (DataField existingField in Fields) - { - if (existingField.Index == fieldUpdate.Index) - { - //Update our field then - Fields[i] = fieldUpdate; - fieldFoundCount++; - //Move on to the next field - break; - } - i++; - } - } - - // - if (fieldFoundCount!=aFields.Count) - { - //Field not found, make sure to use CreateFields first after setting your layout. - return false; - } - - CheckConnection(); - iClient.SetFields(aFields); - return true; - } - - /// - /// Use this function when creating your fields. - /// This must be done at least once after setting your layout. - /// - /// - public void CreateFields(System.Collections.Generic.IList aFields) - { - Fields = aFields; - CheckConnection(); - iClient.SetFields(aFields); - } - - /// - /// Provide the number of clients currently connected to our server. - /// - /// Number of clients currently connected to our server. - public int ClientCount() - { - CheckConnection(); - return iClient.ClientCount(); - } - - - - } - - -} diff -r f59d913ae7a9 -r 151e11cac3b2 Client/MainForm.cs --- a/Client/MainForm.cs Tue Sep 29 18:38:36 2015 +0200 +++ b/Client/MainForm.cs Fri Oct 30 16:45:33 2015 +0100 @@ -29,7 +29,7 @@ using System.ServiceModel; using System.ServiceModel.Channels; using System.Diagnostics; -using SharpDisplay; +using SharpLib.Display; namespace SharpDisplayClient @@ -39,7 +39,7 @@ public StartParams Params { get; set; } // - DisplayClient iClient; + Client iClient; // ContentAlignment Alignment; DataField iTextFieldTop; @@ -55,14 +55,20 @@ iTextFieldTop = new DataField(0); } - /// - /// - /// - /// - /// + public void OnCloseOrder() + { + CloseThreadSafe(); + } + + /// + /// + /// + /// + /// private void MainForm_Load(object sender, EventArgs e) { - iClient = new DisplayClient(this); + iClient = new Client(); + iClient.CloseOrderEvent += OnCloseOrder; iClient.Open(); //Connect using unique name diff -r f59d913ae7a9 -r 151e11cac3b2 Client/SharpDisplayClient.csproj --- a/Client/SharpDisplayClient.csproj Tue Sep 29 18:38:36 2015 +0200 +++ b/Client/SharpDisplayClient.csproj Fri Oct 30 16:45:33 2015 +0100 @@ -84,6 +84,10 @@ true + + ..\packages\SharpLibDisplay.0.0.2\lib\net40\SharpLibDisplay.dll + True + @@ -97,7 +101,6 @@ - Form @@ -119,6 +122,7 @@ Resources.resx True + SettingsSingleFileGenerator Settings.Designer.cs @@ -133,12 +137,6 @@ - - {88eee0dc-abbc-4738-bad6-7e08cf7f50f9} - SharpDisplayInterface - - - False Microsoft .NET Framework 4.5 %28x86 and x64%29 diff -r f59d913ae7a9 -r 151e11cac3b2 Interface/Interface.cs --- a/Interface/Interface.cs Tue Sep 29 18:38:36 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,251 +0,0 @@ -// -// Define a public API for both SharpDisplay client and server to use. -// - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.ServiceModel; -using System.Collections; -using System.Drawing; -using System.Runtime.Serialization; -using System.Windows.Forms; - - -namespace SharpDisplay -{ - /// - /// For client to specify a specific layout. - /// A table layout is sent from client to server and defines data fields layout on our display. - /// - [DataContract] - public class TableLayout - { - public TableLayout() - { - Columns = new List(); - Rows = new List(); - } - - /// - /// Construct our table layout. - /// - /// Number of column in our table. - /// Number of rows in our table. - public TableLayout(int aColumnCount, int aRowCount) - { - Columns = new List(); - Rows = new List(); - - for (int i = 0; i < aColumnCount; i++) - { - Columns.Add(new ColumnStyle(SizeType.Percent, 100 / aColumnCount)); - } - - for (int i = 0; i < aRowCount; i++) - { - Rows.Add(new RowStyle(SizeType.Percent, 100 / aRowCount)); - } - } - - /// - /// Compare two TableLayout object. - /// - /// Tells whether both layout are identical. - public bool IsSameAs(TableLayout aTableLayout) - { - //Check rows and columns counts - if (Columns.Count != aTableLayout.Columns.Count || Rows.Count != aTableLayout.Rows.Count) - { - return false; - } - - //Compare each columns - for (int i=0;i Columns { get; set; } - - [DataMember] - public List Rows { get; set; } - } - - /// - /// Define a data field on our display. - /// Data field can be either text or bitmap. - /// - [DataContract] - public class DataField - { - public DataField() - { - Index = 0; - ColumnSpan = 1; - RowSpan = 1; - //Text - Text = ""; - Alignment = ContentAlignment.MiddleLeft; - //Bitmap - Bitmap = null; - } - - //Text constructor - public DataField(int aIndex, string aText = "", ContentAlignment aAlignment = ContentAlignment.MiddleLeft) - { - ColumnSpan = 1; - RowSpan = 1; - Index = aIndex; - Text = aText; - Alignment = aAlignment; - // - Bitmap = null; - } - - //Bitmap constructor - public DataField(int aIndex, Bitmap aBitmap) - { - ColumnSpan = 1; - RowSpan = 1; - Index = aIndex; - Bitmap = aBitmap; - //Text - Text = ""; - Alignment = ContentAlignment.MiddleLeft; - } - - - //Generic layout properties - [DataMember] - public int Index { get; set; } - - [DataMember] - public int Column { get; set; } - - [DataMember] - public int Row { get; set; } - - [DataMember] - public int ColumnSpan { get; set; } - - [DataMember] - public int RowSpan { get; set; } - - //Text properties - [DataMember] - public string Text { get; set; } - - [DataMember] - public ContentAlignment Alignment { get; set; } - - //Bitmap properties - [DataMember] - public Bitmap Bitmap { get; set; } - - // - public bool IsBitmap { get{ return Bitmap!=null;} } - // - public bool IsText { get { return Bitmap == null; } } - // - public bool IsSameLayout(DataField aField) - { - return (aField.ColumnSpan == ColumnSpan && aField.RowSpan == RowSpan); - } - } - - /// - /// Define our SharpDisplay service. - /// Clients and servers must implement it to communicate with one another. - /// Through this service clients can send requests to a server. - /// Through this service a server session can receive requests from a client. - /// - [ServiceContract( CallbackContract = typeof(ICallback), SessionMode = SessionMode.Required)] - public interface IService - { - /// - /// Set the name of this client. - /// Name is a convenient way to recognize your client. - /// Naming you client is not mandatory. - /// In the absence of a name the session ID is often used instead. - /// - /// - [OperationContract(IsOneWay = true)] - void SetName(string aClientName); - - /// - /// - /// - [OperationContract(IsOneWay = true)] - void SetLayout(TableLayout aLayout); - - /// - /// Set the given field on your display. - /// Fields are often just lines of text or bitmaps. - /// - /// - [OperationContract(IsOneWay = true)] - void SetField(DataField aField); - - /// - /// Allows a client to set multiple fields at once. - /// - /// - [OperationContract(IsOneWay = true)] - void SetFields(System.Collections.Generic.IList aFields); - - /// - /// Provides the number of clients currently connected - /// - /// - [OperationContract()] - int ClientCount(); - - } - - /// - /// SharDisplay callback provides a means for a server to notify its clients. - /// - public interface ICallback - { - [OperationContract(IsOneWay = true)] - void OnConnected(); - - /// - /// Tell our client to close its connection. - /// Notably sent when the server is shutting down. - /// - [OperationContract(IsOneWay = true)] - void OnCloseOrder(); - } - -} diff -r f59d913ae7a9 -r 151e11cac3b2 Interface/Properties/AssemblyInfo.cs --- a/Interface/Properties/AssemblyInfo.cs Tue Sep 29 18:38:36 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -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("SharpDisplayInterface")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("SharpDisplayInterface")] -[assembly: AssemblyCopyright("Copyright © 2014")] -[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("53136116-6621-4ac0-8a01-bf746674b192")] - -// 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 Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff -r f59d913ae7a9 -r 151e11cac3b2 Interface/SharpDisplayInterface.csproj --- a/Interface/SharpDisplayInterface.csproj Tue Sep 29 18:38:36 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ - - - - - Debug - AnyCPU - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9} - Library - Properties - SharpDisplayInterface - SharpDisplayInterface - v4.6 - 512 - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - false - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - false - - - true - ..\bin\x86\Debug\ - ..\bin\x86\Debug\obj - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\bin\x86\Release\ - ..\bin\x86\Release\obj - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff -r f59d913ae7a9 -r 151e11cac3b2 Server/ClientData.cs --- a/Server/ClientData.cs Tue Sep 29 18:38:36 2015 +0200 +++ b/Server/ClientData.cs Fri Oct 30 16:45:33 2015 +0100 @@ -4,7 +4,7 @@ using System.Text; using System.Threading.Tasks; // -using SharpDisplay; +using SharpLib.Display; namespace SharpDisplayManager { diff -r f59d913ae7a9 -r 151e11cac3b2 Server/MainForm.cs --- a/Server/MainForm.cs Tue Sep 29 18:38:36 2015 +0200 +++ b/Server/MainForm.cs Fri Oct 30 16:45:33 2015 +0100 @@ -44,7 +44,7 @@ using SharpDisplayClient; using SharpDisplay; using MiniDisplayInterop; - +using SharpLib.Display; namespace SharpDisplayManager { diff -r f59d913ae7a9 -r 151e11cac3b2 Server/Session.cs --- a/Server/Session.cs Tue Sep 29 18:38:36 2015 +0200 +++ b/Server/Session.cs Fri Oct 30 16:45:33 2015 +0100 @@ -24,7 +24,7 @@ using System.Collections.Generic; using System.Linq; using System.Diagnostics; -using SharpDisplay; +using SharpLib.Display; namespace SharpDisplay { diff -r f59d913ae7a9 -r 151e11cac3b2 Server/SharpDisplayManager.csproj --- a/Server/SharpDisplayManager.csproj Tue Sep 29 18:38:36 2015 +0200 +++ b/Server/SharpDisplayManager.csproj Fri Oct 30 16:45:33 2015 +0100 @@ -103,7 +103,7 @@ SharpDisplayManager.Program - app.manifest + Resources\app.manifest LocalIntranet @@ -122,6 +122,10 @@ False ..\packages\NAudio.1.7.3\lib\net35\NAudio.dll + + ..\packages\SharpLibDisplay.0.0.2\lib\net40\SharpLibDisplay.dll + True + ..\packages\SharpLibHid.1.2.1\lib\net20\SharpLibHid.dll True @@ -197,7 +201,7 @@ Resources.resx True - + Designer @@ -214,17 +218,13 @@ - + {7ee64074-8cdb-4448-b40c-81b75d6b31cd} SharpDisplayClient - - {88eee0dc-abbc-4738-bad6-7e08cf7f50f9} - SharpDisplayInterface - {c174f23d-3055-49bc-b6b0-563011af624d} PowerManager diff -r f59d913ae7a9 -r 151e11cac3b2 Server/packages.config --- a/Server/packages.config Tue Sep 29 18:38:36 2015 +0200 +++ b/Server/packages.config Fri Oct 30 16:45:33 2015 +0100 @@ -2,6 +2,7 @@ + \ No newline at end of file diff -r f59d913ae7a9 -r 151e11cac3b2 Setup/Setup.vdproj --- a/Setup/Setup.vdproj Tue Sep 29 18:38:36 2015 +0200 +++ b/Setup/Setup.vdproj Fri Oct 30 16:45:33 2015 +0100 @@ -82,19 +82,13 @@ "Entry" { "MsmKey" = "8:_9F004B0F8506B523869FACB14EFF064D" - "OwnerKey" = "8:_8CD29D0F38634408AC33359D27B44035" + "OwnerKey" = "8:_9A642A9E3FEC4B88888C4B96086D59E8" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_9F004B0F8506B523869FACB14EFF064D" - "OwnerKey" = "8:_9A642A9E3FEC4B88888C4B96086D59E8" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_A8CD4C9EB63D487F8E718093F92404DB" - "OwnerKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_8CD29D0F38634408AC33359D27B44035" "MsmSig" = "8:_UNDEFINED" } "Entry" @@ -118,13 +112,49 @@ "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_A8CD4C9EB63D487F8E718093F92404DB" + "OwnerKey" = "8:_9F004B0F8506B523869FACB14EFF064D" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_8CD29D0F38634408AC33359D27B44035" + "OwnerKey" = "8:_0BDF79321B394EC0E77BF680C3F40422" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_C2E6C8EB1D62D3C8FA1D1C243958D2D5" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_3EF5004CB20A413815D0A2588A19CDD4" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_334B309CE72870CC620EAB7737749CDB" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_295C95460CE37C9B5A2F236412BA3C46" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_7010B5ED2C1B4E82D3DBE2B590A4FC8E" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_63DC5055504D8E8030D07BDDC074A009" "MsmSig" = "8:_UNDEFINED" } "Entry" @@ -136,49 +166,7 @@ "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_63DC5055504D8E8030D07BDDC074A009" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_7010B5ED2C1B4E82D3DBE2B590A4FC8E" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_295C95460CE37C9B5A2F236412BA3C46" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_334B309CE72870CC620EAB7737749CDB" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_3EF5004CB20A413815D0A2588A19CDD4" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_C2E6C8EB1D62D3C8FA1D1C243958D2D5" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_0BDF79321B394EC0E77BF680C3F40422" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_9F004B0F8506B523869FACB14EFF064D" + "OwnerKey" = "8:_8CD29D0F38634408AC33359D27B44035" "MsmSig" = "8:_UNDEFINED" } } @@ -199,6 +187,14 @@ "PrivateKeyFile" = "8:" "TimeStampServer" = "8:" "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + } } "Release" { @@ -215,6 +211,14 @@ "PrivateKeyFile" = "8:" "TimeStampServer" = "8:" "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + } } } "Deployable" @@ -251,11 +255,6 @@ "AssemblyAsmDisplayName" = "8:SharpDisplayClient, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86" "ScatterAssemblies" { - "_0BDF79321B394EC0E77BF680C3F40422" - { - "Name" = "8:SharpDisplayClient.exe" - "Attributes" = "3:512" - } } "SourcePath" = "8:SharpDisplayClient.exe" "TargetName" = "8:" @@ -282,11 +281,6 @@ "AssemblyAsmDisplayName" = "8:SharpLibHid, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86" "ScatterAssemblies" { - "_295C95460CE37C9B5A2F236412BA3C46" - { - "Name" = "8:SharpLibHid.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:SharpLibHid.dll" "TargetName" = "8:" @@ -313,11 +307,6 @@ "AssemblyAsmDisplayName" = "8:SharpLibWin32, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86" "ScatterAssemblies" { - "_334B309CE72870CC620EAB7737749CDB" - { - "Name" = "8:SharpLibWin32.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:SharpLibWin32.dll" "TargetName" = "8:" @@ -344,11 +333,6 @@ "AssemblyAsmDisplayName" = "8:NAudio, Version=1.7.3.0, Culture=neutral, processorArchitecture=MSIL" "ScatterAssemblies" { - "_3EF5004CB20A413815D0A2588A19CDD4" - { - "Name" = "8:NAudio.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:NAudio.dll" "TargetName" = "8:" @@ -375,11 +359,6 @@ "AssemblyAsmDisplayName" = "8:System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" "ScatterAssemblies" { - "_63DC5055504D8E8030D07BDDC074A009" - { - "Name" = "8:System.Xml.Serialization.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:System.Xml.Serialization.dll" "TargetName" = "8:" @@ -406,11 +385,6 @@ "AssemblyAsmDisplayName" = "8:LibCecSharp, Version=2.2.0.0, Culture=neutral, processorArchitecture=x86" "ScatterAssemblies" { - "_7010B5ED2C1B4E82D3DBE2B590A4FC8E" - { - "Name" = "8:LibCecSharp.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:LibCecSharp.dll" "TargetName" = "8:" @@ -437,11 +411,6 @@ "AssemblyAsmDisplayName" = "8:SharpDisplayInterface, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86" "ScatterAssemblies" { - "_9F004B0F8506B523869FACB14EFF064D" - { - "Name" = "8:SharpDisplayInterface.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:SharpDisplayInterface.dll" "TargetName" = "8:" @@ -468,11 +437,6 @@ "AssemblyAsmDisplayName" = "8:MiniDisplayInterop, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL" "ScatterAssemblies" { - "_C2E6C8EB1D62D3C8FA1D1C243958D2D5" - { - "Name" = "8:MiniDisplayInterop.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:MiniDisplayInterop.dll" "TargetName" = "8:" @@ -499,11 +463,6 @@ "AssemblyAsmDisplayName" = "8:PowerManager, Version=1.0.5750.26884, Culture=neutral, processorArchitecture=x86" "ScatterAssemblies" { - "_FE5CFB2A37C82C1C9824F67FFE127C01" - { - "Name" = "8:PowerManager.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:PowerManager.dll" "TargetName" = "8:" @@ -1222,34 +1181,6 @@ { } } - "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_A8CD4C9EB63D487F8E718093F92404DB" - { - "SourcePath" = "8:..\\bin\\x86\\Release\\obj\\x86\\Release\\SharpDisplayInterface.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_E283B42AF1634497931184D1A685745A" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - "ProjectOutputGroupRegister" = "3:1" - "OutputConfiguration" = "8:" - "OutputGroupCanonicalName" = "8:Built" - "OutputProjectGuid" = "8:{88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}" - "ShowKeyOutput" = "11:TRUE" - "ExcludeFilters" - { - } - } "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_F8D21A6176DE48AB9A10DB85A3DEEB49" { "SourcePath" = "8:" diff -r f59d913ae7a9 -r 151e11cac3b2 SharpDisplayManager.sln --- a/SharpDisplayManager.sln Tue Sep 29 18:38:36 2015 +0200 +++ b/SharpDisplayManager.sln Fri Oct 30 16:45:33 2015 +0100 @@ -7,8 +7,6 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpDisplayClient", "Client\SharpDisplayClient.csproj", "{7EE64074-8CDB-4448-B40C-81B75D6B31CD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpDisplayInterface", "Interface\SharpDisplayInterface.csproj", "{88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PowerManager", "PowerManager\PowerManager.vcxproj", "{C174F23D-3055-49BC-B6B0-563011AF624D}" EndProject Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Setup", "Setup\Setup.vdproj", "{22C920A9-2352-4DC9-91E2-035EBD712866}" @@ -47,18 +45,6 @@ {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Release|x64.Build.0 = Release|Any CPU {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Release|x86.ActiveCfg = Release|x86 {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Release|x86.Build.0 = Release|x86 - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Debug|x64.ActiveCfg = Debug|Any CPU - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Debug|x64.Build.0 = Debug|Any CPU - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Debug|x86.ActiveCfg = Debug|x86 - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Debug|x86.Build.0 = Debug|x86 - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Release|Any CPU.Build.0 = Release|Any CPU - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Release|x64.ActiveCfg = Release|Any CPU - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Release|x64.Build.0 = Release|Any CPU - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Release|x86.ActiveCfg = Release|x86 - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Release|x86.Build.0 = Release|x86 {C174F23D-3055-49BC-B6B0-563011AF624D}.Debug|Any CPU.ActiveCfg = Debug|Win32 {C174F23D-3055-49BC-B6B0-563011AF624D}.Debug|x64.ActiveCfg = Debug|x64 {C174F23D-3055-49BC-B6B0-563011AF624D}.Debug|x64.Build.0 = Debug|x64