diff --git a/Agent/Agent.csproj b/Agent/Agent.csproj index e4adcb3e..13a3e745 100644 --- a/Agent/Agent.csproj +++ b/Agent/Agent.csproj @@ -5,7 +5,7 @@ netcoreapp3.1 true false - Copyright © 2019 Translucency Software + Copyright © 2020 Translucency Software Background service that maintains a connection to the Remotely server. The service is used for remote support and maintenance by this computer's administrators. https://doxm.app/EULA Jared Goodwin @@ -16,8 +16,13 @@ AnyCPU;x86;x64 Remotely_Agent Remotely.Agent + favicon.ico + + + + @@ -39,6 +44,10 @@ + + + + diff --git a/Agent/favicon.ico b/Agent/favicon.ico new file mode 100644 index 00000000..55aaa8ca Binary files /dev/null and b/Agent/favicon.ico differ diff --git a/Desktop.Win/Desktop.Win.csproj b/Desktop.Win/Desktop.Win.csproj index 089676c3..232b02c0 100644 --- a/Desktop.Win/Desktop.Win.csproj +++ b/Desktop.Win/Desktop.Win.csproj @@ -282,9 +282,9 @@ {b04a1728-2e87-491e-bc7f-f575a1754def} ScreenCast.Core - + {67eeb0ce-6b9a-4765-be91-89fb574a764d} - ScreenCast.Win + ScreenCast.Win_Old {3b1b36ae-7a60-4974-a868-1e24894d4149} diff --git a/Remotely.sln b/Remotely.sln index 2ca48e44..6c7d0dc4 100644 --- a/Remotely.sln +++ b/Remotely.sln @@ -35,7 +35,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Shared", "Shared\Shared.csp EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Desktop.Linux", "Desktop.Linux\Desktop.Linux.csproj", "{FF7FD66A-B3E2-4D39-A457-A00C94EDE9E6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ScreenCast.Win", "ScreenCast.Win\ScreenCast.Win.csproj", "{67EEB0CE-6B9A-4765-BE91-89FB574A764D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ScreenCast.Win_Old", "ScreenCast.Win_Old\ScreenCast.Win_Old.csproj", "{67EEB0CE-6B9A-4765-BE91-89FB574A764D}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Desktop.Win", "Desktop.Win\Desktop.Win.csproj", "{36509E38-006A-44B3-BA68-F2D483AB2A48}" EndProject @@ -45,6 +45,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Folder", "Solution README.md = README.md EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ScreenCast.Win", "ScreenCast.Win\ScreenCast.Win.csproj", "{8D9EA0C3-EC7F-48AC-A2ED-9C60DD5A3987}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -151,6 +153,18 @@ Global {36509E38-006A-44B3-BA68-F2D483AB2A48}.Release|x64.Build.0 = Release|x64 {36509E38-006A-44B3-BA68-F2D483AB2A48}.Release|x86.ActiveCfg = Release|x86 {36509E38-006A-44B3-BA68-F2D483AB2A48}.Release|x86.Build.0 = Release|x86 + {8D9EA0C3-EC7F-48AC-A2ED-9C60DD5A3987}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8D9EA0C3-EC7F-48AC-A2ED-9C60DD5A3987}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8D9EA0C3-EC7F-48AC-A2ED-9C60DD5A3987}.Debug|x64.ActiveCfg = Debug|Any CPU + {8D9EA0C3-EC7F-48AC-A2ED-9C60DD5A3987}.Debug|x64.Build.0 = Debug|Any CPU + {8D9EA0C3-EC7F-48AC-A2ED-9C60DD5A3987}.Debug|x86.ActiveCfg = Debug|Any CPU + {8D9EA0C3-EC7F-48AC-A2ED-9C60DD5A3987}.Debug|x86.Build.0 = Debug|Any CPU + {8D9EA0C3-EC7F-48AC-A2ED-9C60DD5A3987}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8D9EA0C3-EC7F-48AC-A2ED-9C60DD5A3987}.Release|Any CPU.Build.0 = Release|Any CPU + {8D9EA0C3-EC7F-48AC-A2ED-9C60DD5A3987}.Release|x64.ActiveCfg = Release|Any CPU + {8D9EA0C3-EC7F-48AC-A2ED-9C60DD5A3987}.Release|x64.Build.0 = Release|Any CPU + {8D9EA0C3-EC7F-48AC-A2ED-9C60DD5A3987}.Release|x86.ActiveCfg = Release|Any CPU + {8D9EA0C3-EC7F-48AC-A2ED-9C60DD5A3987}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/ScreenCast.Win/App.config b/ScreenCast.Win/App.config deleted file mode 100644 index 2988b399..00000000 --- a/ScreenCast.Win/App.config +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ScreenCast.Win/Capture/DXCapture.cs b/ScreenCast.Win/Capture/DXCapture.cs index e352f3c7..4e30371c 100644 --- a/ScreenCast.Win/Capture/DXCapture.cs +++ b/ScreenCast.Win/Capture/DXCapture.cs @@ -60,7 +60,7 @@ namespace Remotely.ScreenCast.Win.Capture OutputDuplicateFrameInformation duplicateFrameInformation; // Try to get duplicated frame within given time is ms - duplicatedOutput.AcquireNextFrame(100, out duplicateFrameInformation, out screenResource); + duplicatedOutput.TryAcquireNextFrame(100, out duplicateFrameInformation, out screenResource); if (duplicateFrameInformation.AccumulatedFrames == 0) { diff --git a/ScreenCast.Win/Properties/AssemblyInfo.cs b/ScreenCast.Win/Properties/AssemblyInfo.cs deleted file mode 100644 index 2bdfb41d..00000000 --- a/ScreenCast.Win/Properties/AssemblyInfo.cs +++ /dev/null @@ -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("Remotely ScreenCast")] -[assembly: AssemblyDescription("Allows unattended remote control via the Remotely server.")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Translucency Software")] -[assembly: AssemblyProduct("Remotely ScreenCast")] -[assembly: AssemblyCopyright("Copyright © 2019 Translucency Software")] -[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("67eeb0ce-6b9a-4765-be91-89fb574a764d")] - -// 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 --git a/ScreenCast.Win/Properties/PublishProfiles/win-x64.pubxml b/ScreenCast.Win/Properties/PublishProfiles/win-x64.pubxml new file mode 100644 index 00000000..c413acfa --- /dev/null +++ b/ScreenCast.Win/Properties/PublishProfiles/win-x64.pubxml @@ -0,0 +1,17 @@ + + + + + FileSystem + Release + Any CPU + netcoreapp3.1 + ..\Agent\bin\Release\netcoreapp3.1\win10-x64\publish\ScreenCast + false + win-x64 + True + False + + \ No newline at end of file diff --git a/ScreenCast.Win/Properties/PublishProfiles/win-x86.pubxml b/ScreenCast.Win/Properties/PublishProfiles/win-x86.pubxml new file mode 100644 index 00000000..bfff9bca --- /dev/null +++ b/ScreenCast.Win/Properties/PublishProfiles/win-x86.pubxml @@ -0,0 +1,17 @@ + + + + + FileSystem + Release + Any CPU + netcoreapp3.1 + ..\Agent\bin\Release\netcoreapp3.1\win10-x86\publish\ScreenCast + win-x86 + false + True + False + + \ No newline at end of file diff --git a/ScreenCast.Win/ScreenCast.Win.csproj b/ScreenCast.Win/ScreenCast.Win.csproj index 627b5d48..2905b0a1 100644 --- a/ScreenCast.Win/ScreenCast.Win.csproj +++ b/ScreenCast.Win/ScreenCast.Win.csproj @@ -1,244 +1,44 @@ - - - + + - Debug - AnyCPU - {67EEB0CE-6B9A-4765-BE91-89FB574A764D} Exe + netcoreapp3.1 + true Remotely.ScreenCast.Win Remotely_ScreenCast - v4.8 - 512 - true - true - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - true - bin\x64\Debug\ - DEBUG;TRACE - full - x64 - 7.3 - prompt - MinimumRecommendedRules.ruleset - true - - - bin\x64\Release\ - TRACE - true - pdbonly - x64 - 7.3 - prompt - MinimumRecommendedRules.ruleset - true - - - true - bin\x86\Debug\ - DEBUG;TRACE - full - x86 - 7.3 - prompt - MinimumRecommendedRules.ruleset - true - - - bin\x86\Release\ - TRACE - true - pdbonly - x86 - 7.3 - prompt - MinimumRecommendedRules.ruleset - true + favicon.ico + Jared Goodwin + Translucency Software + Remotely ScreenCast + Allows unattended remote control via the Remotely server. + Copyright © 2020 Translucency Software + https://remotely.lucency.co + - - ..\packages\MessagePack.1.8.80\lib\net47\MessagePack.dll - - - ..\packages\MessagePack.Annotations.2.0.335\lib\netstandard2.0\MessagePack.Annotations.dll - - - ..\packages\Microsoft.AspNetCore.Connections.Abstractions.3.1.1\lib\netstandard2.0\Microsoft.AspNetCore.Connections.Abstractions.dll - - - ..\packages\Microsoft.AspNetCore.Http.Connections.Client.3.1.1\lib\netstandard2.0\Microsoft.AspNetCore.Http.Connections.Client.dll - - - ..\packages\Microsoft.AspNetCore.Http.Connections.Common.3.1.1\lib\netstandard2.0\Microsoft.AspNetCore.Http.Connections.Common.dll - - - ..\packages\Microsoft.AspNetCore.Http.Features.3.1.1\lib\netstandard2.0\Microsoft.AspNetCore.Http.Features.dll - - - ..\packages\Microsoft.AspNetCore.SignalR.Client.3.1.1\lib\netstandard2.0\Microsoft.AspNetCore.SignalR.Client.dll - - - ..\packages\Microsoft.AspNetCore.SignalR.Client.Core.3.1.1\lib\netstandard2.0\Microsoft.AspNetCore.SignalR.Client.Core.dll - - - ..\packages\Microsoft.AspNetCore.SignalR.Common.3.1.1\lib\netstandard2.0\Microsoft.AspNetCore.SignalR.Common.dll - - - ..\packages\Microsoft.AspNetCore.SignalR.Protocols.Json.3.1.1\lib\netstandard2.0\Microsoft.AspNetCore.SignalR.Protocols.Json.dll - - - ..\packages\Microsoft.AspNetCore.SignalR.Protocols.MessagePack.3.1.1\lib\netstandard2.0\Microsoft.AspNetCore.SignalR.Protocols.MessagePack.dll - - - ..\packages\Microsoft.Bcl.AsyncInterfaces.1.1.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll - - - ..\packages\Microsoft.Extensions.Configuration.3.1.1\lib\netstandard2.0\Microsoft.Extensions.Configuration.dll - - - ..\packages\Microsoft.Extensions.Configuration.Abstractions.3.1.1\lib\netstandard2.0\Microsoft.Extensions.Configuration.Abstractions.dll - - - ..\packages\Microsoft.Extensions.Configuration.Binder.3.1.1\lib\netstandard2.0\Microsoft.Extensions.Configuration.Binder.dll - - - ..\packages\Microsoft.Extensions.DependencyInjection.3.1.1\lib\net461\Microsoft.Extensions.DependencyInjection.dll - - - ..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.3.1.1\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll - - - ..\packages\Microsoft.Extensions.Logging.3.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.dll - - - ..\packages\Microsoft.Extensions.Logging.Abstractions.3.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll - - - ..\packages\Microsoft.Extensions.Options.3.1.1\lib\netstandard2.0\Microsoft.Extensions.Options.dll - - - ..\packages\Microsoft.Extensions.Primitives.3.1.1\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll - - - ..\packages\NAudio.1.9.0\lib\net35\NAudio.dll - - - ..\packages\SharpDX.4.2.0\lib\net45\SharpDX.dll - - - ..\packages\SharpDX.Direct3D11.4.2.0\lib\net45\SharpDX.Direct3D11.dll - - - ..\packages\SharpDX.DXGI.4.2.0\lib\net45\SharpDX.DXGI.dll - - - - ..\packages\System.Buffers.4.5.0\lib\netstandard2.0\System.Buffers.dll - - - ..\packages\System.ComponentModel.Annotations.4.7.0\lib\net461\System.ComponentModel.Annotations.dll - - - - - - ..\packages\System.Drawing.Common.4.7.0\lib\net461\System.Drawing.Common.dll - - - ..\packages\System.IO.Pipelines.4.7.0\lib\netstandard2.0\System.IO.Pipelines.dll - - - ..\packages\System.Memory.4.5.3\lib\netstandard2.0\System.Memory.dll - - - - ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll - - - ..\packages\System.Runtime.CompilerServices.Unsafe.4.7.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll - - - - ..\packages\System.Runtime.Serialization.Primitives.4.3.0\lib\net46\System.Runtime.Serialization.Primitives.dll - True - True - - - ..\packages\System.Text.Encodings.Web.4.7.0\lib\netstandard2.0\System.Text.Encodings.Web.dll - - - ..\packages\System.Text.Json.4.7.0\lib\net461\System.Text.Json.dll - - - ..\packages\System.Threading.Channels.4.7.0\lib\netstandard2.0\System.Threading.Channels.dll - - - ..\packages\System.Threading.Tasks.Extensions.4.5.3\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll - - - ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll - - - - - - - - + + - - - - - - - - - + + + + + + + - - + + + - - {b04a1728-2e87-491e-bc7f-f575a1754def} - ScreenCast.Core - - - {3b1b36ae-7a60-4974-a868-1e24894d4149} - Shared - + - - - if $(ConfigurationName) == Debug ( - if $(PlatformName) == Any CPU ( - md "$(SolutionDir)Agent\bin\Debug\netcoreapp3.1\ScreenCast\" - copy /y "$(TargetDir)\*" "$(SolutionDir)Agent\bin\Debug\netcoreapp3.1\ScreenCast\" - ) -) - - \ No newline at end of file + + + + + + diff --git a/ScreenCast.Win/favicon.ico b/ScreenCast.Win/favicon.ico new file mode 100644 index 00000000..55aaa8ca Binary files /dev/null and b/ScreenCast.Win/favicon.ico differ diff --git a/ScreenCast.Win/packages.config b/ScreenCast.Win/packages.config deleted file mode 100644 index c503293d..00000000 --- a/ScreenCast.Win/packages.config +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Utilities/Publish.ps1 b/Utilities/Publish.ps1 index c6c5090c..5ccd25f1 100644 --- a/Utilities/Publish.ps1 +++ b/Utilities/Publish.ps1 @@ -114,9 +114,9 @@ if ((Test-Path -Path "$Root\Agent\bin\Release\netcoreapp3.1\linux-x64\publish") # Publish Core clients. -dotnet publish /p:Version=$CurrentVersion /p:FileVersion=$CurrentVersion --runtime win10-x64 --configuration Release --output "$Root\Agent\bin\Release\netcoreapp3.1\win10-x64\publish" "$Root\Agent" -dotnet publish /p:Version=$CurrentVersion /p:FileVersion=$CurrentVersion --runtime linux-x64 --configuration Release --output "$Root\Agent\bin\Release\netcoreapp3.1\linux-x64\publish" "$Root\Agent" -dotnet publish /p:Version=$CurrentVersion /p:FileVersion=$CurrentVersion --runtime win10-x86 --configuration Release --output "$Root\Agent\bin\Release\netcoreapp3.1\win10-x86\publish" "$Root\Agent" +dotnet publish /p:Version=$CurrentVersion /p:FileVersion=$CurrentVersion --runtime win10-x64 --configuration Release --no-self-contained --output "$Root\Agent\bin\Release\netcoreapp3.1\win10-x64\publish" "$Root\Agent" +dotnet publish /p:Version=$CurrentVersion /p:FileVersion=$CurrentVersion --runtime linux-x64 --configuration Release --no-self-contained --output "$Root\Agent\bin\Release\netcoreapp3.1\linux-x64\publish" "$Root\Agent" +dotnet publish /p:Version=$CurrentVersion /p:FileVersion=$CurrentVersion --runtime win10-x86 --configuration Release --no-self-contained --output "$Root\Agent\bin\Release\netcoreapp3.1\win10-x86\publish" "$Root\Agent" New-Item -Path "$Root\Agent\bin\Release\netcoreapp3.1\win10-x64\publish\ScreenCast\" -ItemType Directory -Force New-Item -Path "$Root\Agent\bin\Release\netcoreapp3.1\win10-x86\publish\ScreenCast\" -ItemType Directory -Force @@ -130,34 +130,26 @@ dotnet publish /p:Version=$CurrentVersion /p:FileVersion=$CurrentVersion -p:Publ dotnet publish /p:Version=$CurrentVersion /p:FileVersion=$CurrentVersion -p:PublishProfile=linux-x64 "$Root\Desktop.Linux\" -# Build .NET Framework ScreenCaster (32-bit) -&"$MSBuildPath" "$Root\ScreenCast.Win" /t:Build /p:Configuration=Release /p:Platform=x86 +# Publish Windows ScreenCaster (32-bit) +dotnet publish /p:Version=$CurrentVersion /p:FileVersion=$CurrentVersion -p:PublishProfile=win-x86 "$Root\ScreenCast.Win" -# Copy 32-bit .NET Framework ScreenCaster to Agent output folder. -Get-ChildItem -Path "$Root\ScreenCast.Win\bin\x86\Release\" -Exclude "*.xml" | Copy-Item -Destination ".\Agent\bin\Release\netcoreapp3.1\win10-x86\publish\ScreenCast\" -Force +# Publish Windows ScreenCaster (64-bit) +dotnet publish /p:Version=$CurrentVersion /p:FileVersion=$CurrentVersion -p:PublishProfile=win-x64 "$Root\ScreenCast.Win" -# Build .NET Framework ScreenCaster (64-bit) -&"$MSBuildPath" "$Root\ScreenCast.Win" /t:Build /p:Configuration=Release /p:Platform=x64 +# Publish Windows GUI App (64-bit) +#dotnet publish /p:Version=$CurrentVersion /p:FileVersion=$CurrentVersion -p:PublishProfile=win-x64 "$Root\Desktop.Win" +# +#if ($SignAssemblies) { +# &"$Root\Utilities\signtool.exe" sign /f "$CertificatePath" /p $CertificatePassword /t http://timestamp.digicert.com "$Root\Server\wwwroot\Downloads\Win-x64\Remotely_Desktop.exe" +#} +# +## Publish Windows GUI App (32-bit) +#dotnet publish /p:Version=$CurrentVersion /p:FileVersion=$CurrentVersion -p:PublishProfile=win-x86 "$Root\Desktop.Win" +# +#if ($SignAssemblies) { +# &"$Root\Utilities\signtool.exe" sign /f "$CertificatePath" /p $CertificatePassword /t http://timestamp.digicert.com "$Root\Server\wwwroot\Downloads\Win-x86\Remotely_Desktop.exe" +#} -# Copy 64-bit .NET Framework ScreenCaster to Agent output folder. -Get-ChildItem -Path "$Root\ScreenCast.Win\bin\x64\Release\" -Exclude "*.xml" | Copy-Item -Destination ".\Agent\bin\Release\netcoreapp3.1\win10-x64\publish\ScreenCast\" -Force - - -# Build Windows GUI App (64-bit) -[System.IO.Directory]::CreateDirectory("$Root\Server\wwwroot\Downloads\Win-x64\") -&"$MSBuildPath" "$Root\Desktop.Win" /t:Build /p:Configuration=Release /p:Platform=x64 -Move-Item -Path "$Root\Desktop.Win\bin\x64\Release\Remotely_Desktop.exe" -Destination "$Root\Server\wwwroot\Downloads\Win-x64\Remotely_Desktop.exe" -Force -if ($SignAssemblies) { - &"$Root\Utilities\signtool.exe" sign /f "$CertificatePath" /p $CertificatePassword /t http://timestamp.digicert.com "$Root\Server\wwwroot\Downloads\Win-x64\Remotely_Desktop.exe" -} - -# Build Windows GUI App (32-bit) -[System.IO.Directory]::CreateDirectory("$Root\Server\wwwroot\Downloads\Win-x86\") -&"$MSBuildPath" "$Root\Desktop.Win" /t:Build /p:Configuration=Release /p:Platform=x86 -Move-Item -Path "$Root\Desktop.Win\bin\x86\Release\Remotely_Desktop.exe" -Destination "$Root\Server\wwwroot\Downloads\Win-x86\Remotely_Desktop.exe" -Force -if ($SignAssemblies) { - &"$Root\Utilities\signtool.exe" sign /f "$CertificatePath" /p $CertificatePassword /t http://timestamp.digicert.com "$Root\Server\wwwroot\Downloads\Win-x86\Remotely_Desktop.exe" -} # Compress Core clients.