diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml
new file mode 100644
index 0000000..a73cc8b
--- /dev/null
+++ b/.github/workflows/dotnet.yml
@@ -0,0 +1,25 @@
+name: .NET
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: 5.0.x
+ - name: Restore dependencies
+ run: dotnet restore
+ - name: Build
+ run: dotnet build --no-restore
+ - name: Test
+ run: dotnet test --no-build --verbosity normal
diff --git a/.gitignore b/.gitignore
index dfcfd56..6ef619f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -348,3 +348,5 @@ MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
+
+_attic_/
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..e4d3a8b
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,21 @@
+{
+ "workbench.colorCustomizations": {
+ "activityBar.activeBackground": "#610017",
+ "activityBar.background": "#610017",
+ "activityBar.foreground": "#e7e7e7",
+ "activityBar.inactiveForeground": "#e7e7e799",
+ "activityBarBadge.background": "#1e8000",
+ "activityBarBadge.foreground": "#e7e7e7",
+ "commandCenter.border": "#e7e7e799",
+ "sash.hoverBorder": "#610017",
+ "statusBar.background": "#2e000b",
+ "statusBar.foreground": "#e7e7e7",
+ "statusBarItem.hoverBackground": "#610017",
+ "statusBarItem.remoteBackground": "#2e000b",
+ "statusBarItem.remoteForeground": "#e7e7e7",
+ "titleBar.activeBackground": "#2e000b",
+ "titleBar.activeForeground": "#e7e7e7",
+ "titleBar.inactiveBackground": "#2e000b99",
+ "titleBar.inactiveForeground": "#e7e7e799"
+ }
+}
\ No newline at end of file
diff --git a/CommonTools/CommonTools.csproj b/CommonTools/CommonTools.csproj
index 759bad7..c0092b0 100644
--- a/CommonTools/CommonTools.csproj
+++ b/CommonTools/CommonTools.csproj
@@ -1,218 +1,24 @@
-
-
+
- Debug
- AnyCPU
- 9.0.21022
- 2.0
- {6D83410F-1413-4671-994C-AF095C3E5937}
- Library
- Properties
+ net9.0-windows
CommonTools
CommonTools
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 3.5
- false
- v4.8
-
- publish\
- true
- Disk
- false
- Foreground
- 7
- Days
- false
- false
- true
- 0
- 1.0.0.%2a
- false
- true
- e1f48c71
+ true
+ disable
+ disable
+ false
+ false
+ WFO1000
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
- false
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
- false
-
-
-
-
-
- Component
-
-
- Component
-
-
- UserControl
-
-
- ColorPickerCtrl.cs
-
-
- Form
-
-
- ColorPickerDialog.cs
-
-
- Component
-
-
- Component
-
-
- UserControl
-
-
- ColorWheelCtrl.cs
-
-
- Component
-
-
-
-
- Component
-
-
- Component
-
-
- Component
-
-
- Component
-
-
- Component
-
-
- Component
-
-
-
-
- Form
-
-
- PropertyDialog.cs
-
-
-
- Component
-
-
-
- Component
-
-
-
-
-
-
-
-
- Component
-
-
-
+
-
- ColorPickerCtrl.cs
- Designer
-
-
- ColorPickerDialog.cs
- Designer
-
-
- ColorWheelCtrl.cs
- Designer
-
-
- PropertyDialog.cs
- Designer
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
- False
- .NET Framework 3.5 SP1 Client Profile
- false
-
-
- False
- .NET Framework 2.0 %28x86%29
- true
-
-
- False
- .NET Framework 3.0 %28x86%29
- false
-
-
- False
- .NET Framework 3.5
- false
-
-
- False
- .NET Framework 3.5 SP1
- false
-
-
-
-
+
+
-
\ No newline at end of file
+
diff --git a/CommonTools/app.config b/CommonTools/app.config
deleted file mode 100644
index a8fad14..0000000
--- a/CommonTools/app.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/DataProtection/DataProtection.csproj b/DataProtection/DataProtection.csproj
index 10046a2..86b46bc 100644
--- a/DataProtection/DataProtection.csproj
+++ b/DataProtection/DataProtection.csproj
@@ -1,70 +1,11 @@
-
-
+
- Debug
- AnyCPU
- 9.0.30729
- 2.0
- {D016458A-83FA-4A03-B79C-7A0A66C58656}
- Library
- Properties
+ net9.0
DataProtection
DataProtection
- v4.8
- 512
-
-
-
-
- 3.5
-
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
- true
- false
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
true
- false
+ disable
+ disable
+ false
-
-
-
- 3.5
-
-
- 3.5
-
-
- 3.5
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
diff --git a/Database/Controllers/Database.cs b/Database/Controllers/Database.cs
index 77cd794..1db3feb 100644
--- a/Database/Controllers/Database.cs
+++ b/Database/Controllers/Database.cs
@@ -27,7 +27,7 @@ public class SQLiteDataSource
public void Initialize()
{
_db_name = ConfigurationManager.AppSettings["DatbaseFilepath"].ToString();
- _db_name = System.IO.Path.Combine(System.Windows.Forms.Application.StartupPath, _db_name);
+ _db_name = System.IO.Path.Combine(AppContext.BaseDirectory, _db_name);
_connectionString = ConfigurationManager.AppSettings["connection"].ToString();
_connectionString = string.Format(_connectionString, _db_name);
diff --git a/Database/Database.csproj b/Database/Database.csproj
index 52c11a5..f105f1d 100644
--- a/Database/Database.csproj
+++ b/Database/Database.csproj
@@ -1,129 +1,29 @@
-
-
+
- Debug
- AnyCPU
- 9.0.21022
- 2.0
- {022081C2-EDAA-46E8-AFA0-7D692722FDCF}
- Library
- Properties
+ net9.0-windows
Database
Database
- v4.8
- 512
-
-
-
-
- 3.5
- publish\
- true
- Disk
- false
- Foreground
- 7
- Days
- false
- false
- true
- 0
- 1.0.0.%2a
- false
- false
- true
- b55a6807
-
+ true
+ disable
+ disable
+ false
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
- false
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
- false
-
-
-
-
-
- 3.5
-
-
-
- False
- ..\packages\System.Data.SQLite.Core.1.0.97.0\lib\net20\System.Data.SQLite.dll
-
-
- False
- ..\packages\System.Data.SQLite.Linq.1.0.97.0\lib\net20\System.Data.SQLite.Linq.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {E30F1D6F-B277-4A42-9F1E-74B108FB2513}
- RijndaelEncryptDecrypt
-
-
+
-
- False
- .NET Framework 3.5 SP1 Client Profile
- false
-
-
- False
- .NET Framework 3.5 SP1
- true
-
+
+
+
-
-
+
+
-
+
PreserveNewest
-
+
PreserveNewest
-
-
-
-
- This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
-
-
-
-
-
\ No newline at end of file
+
diff --git a/Database/app.config b/Database/app.config
deleted file mode 100644
index c73fb4a..0000000
--- a/Database/app.config
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/Database/packages.config b/Database/packages.config
deleted file mode 100644
index 4741e75..0000000
--- a/Database/packages.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/LiveInformationBox/LiveInformationBox.csproj b/LiveInformationBox/LiveInformationBox.csproj
index f97916a..2ed75ca 100644
--- a/LiveInformationBox/LiveInformationBox.csproj
+++ b/LiveInformationBox/LiveInformationBox.csproj
@@ -1,107 +1,22 @@
-
-
+
- Debug
- AnyCPU
- 9.0.21022
- 2.0
- {6502B815-231B-4FA8-9D6D-0C5849081431}
- Library
- Properties
+ net9.0-windows
LiveInformationBox
LiveInformationBox
- v4.8
- 512
-
-
-
-
-
-
- 3.5
-
+ true
+ disable
+ disable
+ false
+ false
+ WFO1000
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
- false
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
- false
-
-
-
-
- 3.5
-
-
-
-
-
-
-
+
-
-
- Form
-
-
- InfoWindow.cs
-
-
-
- InfoWindow.cs
- Designer
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
- Designer
-
-
- True
- Resources.resx
- True
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
- True
- Settings.settings
- True
-
+
+
-
-
-
-
- {0CF5C405-5ED2-4F7A-8B64-46438CB743B3}
- Win32APIs
-
-
-
-
-
\ No newline at end of file
+
diff --git a/MsTscAxWrapper/MsTscAxWrapper.csproj b/MsTscAxWrapper/MsTscAxWrapper.csproj
index 5075891..394ae37 100644
--- a/MsTscAxWrapper/MsTscAxWrapper.csproj
+++ b/MsTscAxWrapper/MsTscAxWrapper.csproj
@@ -1,93 +1,17 @@
-
-
+
- Debug
- AnyCPU
- 9.0.21022
- 2.0
- {8BC7615E-8138-4D3F-B376-3DBECC589E87}
- Library
- Properties
+ net9.0-windows
MsTscAxWrapper
MsTscAxWrapper
- v4.8
- 512
-
-
-
-
- 3.5
- publish\
- true
- Disk
- false
- Foreground
- 7
- Days
- false
- false
- true
- 0
- 1.0.0.%2a
- false
- false
- true
-
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
- false
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
- false
+ true
+ disable
+ disable
+ false
+
-
- False
- .\MSTSCLib.dll
+
+ MSTSCLib.dll
-
-
- 3.5
-
-
-
-
-
- Component
-
-
-
-
-
- False
- .NET Framework 3.5 SP1 Client Profile
- false
-
-
- False
- .NET Framework 3.5 SP1
- true
-
-
-
-
\ No newline at end of file
+
diff --git a/RDPReader/RDPReader.csproj b/RDPReader/RDPReader.csproj
index c2f6d0d..d771614 100644
--- a/RDPReader/RDPReader.csproj
+++ b/RDPReader/RDPReader.csproj
@@ -1,63 +1,11 @@
-
-
+
- Debug
- AnyCPU
- 9.0.21022
- 2.0
- {6D66D7E2-DF21-4EB0-8850-A8B214566B44}
- Library
- Properties
+ net9.0-windows
RDPReader
RDPReader
- v4.8
- 512
-
-
-
-
- 3.5
-
+ true
+ disable
+ disable
+ false
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
- false
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
- false
-
-
-
-
- 3.5
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
diff --git a/RemoteDesktopClient/App.config b/RemoteDesktopClient/App.config
index bd87393..fcdd5c1 100644
--- a/RemoteDesktopClient/App.config
+++ b/RemoteDesktopClient/App.config
@@ -4,4 +4,4 @@
-
+
diff --git a/RemoteDesktopClient/Forms/RdpClientWindow.cs b/RemoteDesktopClient/Forms/RdpClientWindow.cs
index 84206f5..ee84e5b 100644
--- a/RemoteDesktopClient/Forms/RdpClientWindow.cs
+++ b/RemoteDesktopClient/Forms/RdpClientWindow.cs
@@ -51,9 +51,26 @@ public void InitializeControl(Model_ServerDetails sd)
this._sd = sd;
+ // Log connection attempt details
+ Console.WriteLine("=== RDP Connection Initialization ===");
+ Console.WriteLine($"Server: {sd.Server}");
+ Console.WriteLine($"Username: {sd.Username}");
+ Console.WriteLine($"Domain: {sd.Domain ?? "(none)"}");
+ Console.WriteLine($"Password Length: {sd.Password?.Length ?? 0}");
+ Console.WriteLine($"Port: {sd.Port}");
+
rdpClient.Server = sd.Server;
+
+ // Set domain and username separately
+ if (!string.IsNullOrEmpty(sd.Domain))
+ {
+ rdpClient.Domain = sd.Domain;
+ Console.WriteLine($"Domain set to: {sd.Domain}");
+ }
+
rdpClient.UserName = sd.Username;
- //rdpClient.Domain = sd.dom
+ Console.WriteLine($"Username set to: {sd.Username}");
+
rdpClient.AdvancedSettings2.ClearTextPassword = sd.Password;
rdpClient.ColorDepth = sd.ColorDepth;
rdpClient.DesktopWidth = sd.DesktopWidth;
@@ -77,6 +94,40 @@ public void InitializeControl(Model_ServerDetails sd)
//rdpClient.AdvancedSettings2.BitmapCacheSize = 512;
rdpClient.AdvancedSettings2.CachePersistenceActive = -1;
+ // Match RDCMan settings exactly:
+ // - "Warn if authentication fails" = CHECKED (AuthenticationLevel = 1)
+ // - "Enable CredSSP support" = NOT CHECKED (EnableCredSspSupport = false)
+ try
+ {
+ // Cast to AdvancedSettings5 or higher to access EnableCredSspSupport
+ var advancedSettings5 = rdpClient.AdvancedSettings2 as dynamic;
+ if (advancedSettings5 != null)
+ {
+ advancedSettings5.AuthenticationLevel = 2; // Set to 2 (connect and don't warn if authentication fails)
+ advancedSettings5.EnableCredSspSupport = false; // Disable CredSSP like RDCMan
+
+ // Add more settings that might help with error 516
+ // These settings can help prevent internal errors related to control initialization
+ advancedSettings5.EnableAutoReconnect = true;
+ advancedSettings5.MaxReconnectAttempts = 3;
+
+ // Try setting NegotiateSecurityLayer - important for non-CredSSP connections
+ advancedSettings5.NegotiateSecurityLayer = true;
+
+ // Allow connection even if authentication fails at client
+ advancedSettings5.AllowBackgroundInput = 0;
+
+ Console.WriteLine("Authentication Level: 2 (Connect and don't warn if authentication fails)");
+ Console.WriteLine("CredSSP Support Enabled: False");
+ Console.WriteLine("EnableAutoReconnect: True");
+ Console.WriteLine("NegotiateSecurityLayer: True");
+ Console.WriteLine("AllowBackgroundInput: 0");
+ }
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("Warning: Could not configure authentication: " + ex.Message);
+ }
// custom port
if (sd.Port != 0)
@@ -108,6 +159,8 @@ public void InitializeControlEvents()
this.rdpClient.OnConnected += new EventHandler(rdpClient_OnConnected);
this.rdpClient.OnLoginComplete += new EventHandler(rdpClient_OnLoginComplete);
this.rdpClient.OnDisconnected += new AxMSTSCLib.IMsTscAxEvents_OnDisconnectedEventHandler(rdpClient_OnDisconnected);
+ this.rdpClient.OnWarning += new AxMSTSCLib.IMsTscAxEvents_OnWarningEventHandler(rdpClient_OnWarning);
+ this.rdpClient.OnFatalError += new AxMSTSCLib.IMsTscAxEvents_OnFatalErrorEventHandler(rdpClient_OnFatalError);
btnSndKey_TaskManager.Click += new EventHandler(SendKeys_Button_Click);
@@ -177,8 +230,26 @@ void rdpClient_OnDisconnected(object sender, AxMSTSCLib.IMsTscAxEvents_OnDisconn
btnConnect.Enabled = true;
btnDisconnect.Enabled = false;
- { // check connection status on output
- System.Diagnostics.Debug.WriteLine("OnDisconnected " + rdpClient.Connected);
+ // Log disconnect reason
+ Console.WriteLine("=== RDP Disconnected ===");
+ Console.WriteLine($"OnDisconnected - Connected Status: {rdpClient.Connected}");
+ Console.WriteLine($"Disconnect Reason Code: {e.discReason}");
+
+ // Decode disconnect reason
+ string reasonText = GetDisconnectReason(e.discReason);
+ Console.WriteLine($"Disconnect Reason: {reasonText}");
+
+ // Show message box for authentication failures
+ if (e.discReason == 2308 || e.discReason == 264 || e.discReason == 1286 || e.discReason == 2055)
+ {
+ MessageBox.Show($"Connection failed: {reasonText}\n\nReason Code: {e.discReason}\n\nServer: {this._sd.Server}\nUsername: {this._sd.Username}\nDomain: {this._sd.Domain ?? "(none)"}",
+ "Authentication Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ // Show info for error 516 (internal error)
+ else if (e.discReason == 516)
+ {
+ MessageBox.Show($"Connection failed with internal error.\n\nThis may be caused by:\n- Incompatible security settings\n- Display/resolution configuration issues\n- Server policy restrictions\n\nReason Code: {e.discReason}\n\nServer: {this._sd.Server}\nUsername: {this._sd.Username}\nDomain: {this._sd.Domain ?? "(none)"}\n\nTry checking the console output for more details.",
+ "Internal RDP Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
if (Disconnected != null)
@@ -187,12 +258,41 @@ void rdpClient_OnDisconnected(object sender, AxMSTSCLib.IMsTscAxEvents_OnDisconn
}
}
+ private string GetDisconnectReason(int reason)
+ {
+ // Common RDP disconnect reason codes
+ switch (reason)
+ {
+ case 0: return "No error";
+ case 1: return "Local disconnection";
+ case 2: return "Remote disconnection by user";
+ case 3: return "Remote disconnection by server / User initiated disconnect";
+ case 260: return "DNS name lookup failure";
+ case 262: return "Out of memory";
+ case 264: return "Connection timed out";
+ case 516: return "Internal error";
+ case 518: return "Out of memory";
+ case 520: return "Host not found";
+ case 772: return "Winsock error";
+ case 1030: return "Security error";
+ case 1032: return "Encryption error";
+ case 1286: return "License protocol error";
+ case 2308: return "The specified computer name contains invalid characters";
+ case 2055: return "Internal security error";
+ case 2056: return "Internal security error";
+ case 2822: return "Logon failure: unknown username or bad password";
+ case 2825: return "Account restriction prevents logon";
+ case 3079: return "Connection to remote PC lost";
+ default: return $"Unknown disconnect reason (code: {reason})";
+ }
+ }
+
void rdpClient_OnLoginComplete(object sender, EventArgs e)
{
Status("Loged in using " + this._sd.Username + " user account");
{ // check connection status on output
- System.Diagnostics.Debug.WriteLine("OnLoginComplete " + rdpClient.Connected);
+ Console.WriteLine("OnLoginComplete - Connected Status: " + rdpClient.Connected);
}
if (LoginComplete != null)
@@ -206,7 +306,7 @@ void rdpClient_OnConnected(object sender, EventArgs e)
Status("Connected to " + this._sd.Server);
{ // check connection status on output
- System.Diagnostics.Debug.WriteLine("OnConnected " + rdpClient.Connected);
+ Console.WriteLine("OnConnected - Connected Status: " + rdpClient.Connected);
}
if (Connected != null)
@@ -223,7 +323,7 @@ void rdpClient_OnConnecting(object sender, EventArgs e)
btnDisconnect.Enabled = true;
{ // check connection status on output
- System.Diagnostics.Debug.WriteLine("OnConnecting " + rdpClient.Connected);
+ Console.WriteLine("OnConnecting - Connected Status: " + rdpClient.Connected);
}
if (Connecting != null)
@@ -232,6 +332,51 @@ void rdpClient_OnConnecting(object sender, EventArgs e)
}
}
+ void rdpClient_OnWarning(object sender, AxMSTSCLib.IMsTscAxEvents_OnWarningEvent e)
+ {
+ Console.WriteLine("=== RDP Warning ===");
+ Console.WriteLine($"Warning Code: {e.warningCode}");
+
+ string warningText = GetWarningDescription(e.warningCode);
+ Console.WriteLine($"Warning: {warningText}");
+ }
+
+ void rdpClient_OnFatalError(object sender, AxMSTSCLib.IMsTscAxEvents_OnFatalErrorEvent e)
+ {
+ Console.WriteLine("=== RDP Fatal Error ===");
+ Console.WriteLine($"Error Code: {e.errorCode}");
+
+ string errorText = GetErrorDescription(e.errorCode);
+ Console.WriteLine($"Fatal Error: {errorText}");
+
+ MessageBox.Show($"Fatal RDP Error: {errorText}\n\nError Code: {e.errorCode}\n\nServer: {this._sd.Server}\nUsername: {this._sd.Username}\nDomain: {this._sd.Domain ?? "(none)"}",
+ "Fatal Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+
+ private string GetWarningDescription(int warningCode)
+ {
+ switch (warningCode)
+ {
+ case 1: return "Certificate warning";
+ case 2: return "Certificate name mismatch";
+ case 3: return "Certificate expired";
+ default: return $"Unknown warning (code: {warningCode})";
+ }
+ }
+
+ private string GetErrorDescription(int errorCode)
+ {
+ switch (errorCode)
+ {
+ case 0: return "Internal error";
+ case 1: return "Protocol error";
+ case 2: return "Out of memory";
+ case 3: return "Control error";
+ case 4: return "Invalid parameter";
+ default: return $"Unknown error (code: {errorCode})";
+ }
+ }
+
#endregion
#region EVENT: server settings window
diff --git a/RemoteDesktopClient/MultiRemoteDesktopClient.csproj b/RemoteDesktopClient/MultiRemoteDesktopClient.csproj
index fdfb5ed..5616573 100644
--- a/RemoteDesktopClient/MultiRemoteDesktopClient.csproj
+++ b/RemoteDesktopClient/MultiRemoteDesktopClient.csproj
@@ -1,462 +1,69 @@
-
-
+
- Debug
- AnyCPU
- 9.0.21022
- 2.0
- {98A7D53A-14C4-4B2C-841B-0C3AD46E84EF}
WinExe
- Properties
+ net9.0-windows
MultiRemoteDesktopClient
MultiRemoteDesktopClient
- v4.8
- 512
+ true
ICO\mstscax.dll_I345e_0409.ico
- false
-
-
-
-
- 3.5
-
-
-
- publish\
- true
- Disk
- false
- Foreground
- 7
- Days
- false
- false
- true
- 3
- 1.0.0.%2a
- false
- true
- true
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
- false
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
- false
-
-
- 5A4C48B612B3A7D3DDF3A302ADEC0580466DFDE3
-
-
- MultiRemoteDesktopClient_TemporaryKey.pfx
-
-
- true
-
-
- true
+ disable
+ disable
+ false
+ false
+ WFO1000
+ false
+
-
- False
- .\MagicLibrary.dll
-
-
- ..\packages\Microsoft.AppCenter.3.2.1\lib\net461\Microsoft.AppCenter.dll
-
-
- ..\packages\Microsoft.AppCenter.Analytics.3.2.1\lib\net461\Microsoft.AppCenter.Analytics.dll
-
-
- ..\packages\Microsoft.AppCenter.Crashes.3.2.1\lib\net461\Microsoft.AppCenter.Crashes.dll
+
+
+
+
+
+
+
+
+
+ MagicLibrary.dll
-
-
- False
+
..\MsTscAxWrapper\MSTSCLib.dll
-
- ..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll
-
-
- ..\packages\SQLitePCLRaw.bundle_green.2.0.2\lib\net461\SQLitePCLRaw.batteries_v2.dll
-
-
- ..\packages\SQLitePCLRaw.core.2.0.2\lib\netstandard2.0\SQLitePCLRaw.core.dll
-
-
- ..\packages\SQLitePCLRaw.bundle_green.2.0.2\lib\net461\SQLitePCLRaw.nativelibrary.dll
-
-
- ..\packages\SQLitePCLRaw.provider.dynamic_cdecl.2.0.2\lib\netstandard2.0\SQLitePCLRaw.provider.dynamic_cdecl.dll
-
-
-
- ..\packages\System.Buffers.4.4.0\lib\netstandard2.0\System.Buffers.dll
-
-
-
- 3.5
-
-
-
-
-
-
- ..\packages\System.Memory.4.5.3\lib\netstandard2.0\System.Memory.dll
-
-
-
-
- ..\packages\System.Numerics.Vectors.4.4.0\lib\net46\System.Numerics.Vectors.dll
-
-
- ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll
-
-
-
-
-
-
- Component
-
-
-
-
-
-
- Component
-
-
- UserControl
-
-
- RDThumbnail.cs
-
-
- Form
-
-
- ConfigurationWindow.cs
-
-
- Form
-
-
- AboutWindow.cs
-
-
-
- Component
-
-
-
-
-
- Form
-
-
- ExportWindow.cs
-
-
- Form
-
-
- ImportWindow.cs
-
-
- Form
-
-
- Form
-
-
- Form
-
-
- Form
-
-
- RdpClientWindow.cs
-
-
- Form
-
-
- PasswordWindow.cs
-
-
- Form
-
-
- GroupManagerWindow.cs
-
-
- Form
-
-
- PopupMDIContainer.cs
-
-
-
-
- RDThumbnail.cs
- Designer
-
-
- ConfigurationWindow.cs
- Designer
-
-
- AboutWindow.cs
- Designer
-
-
- ExportWindow.cs
- Designer
-
-
- ImportWindow.cs
- Designer
-
-
- RdpClientWindow.cs
- Designer
-
-
- PasswordWindow.cs
- Designer
-
-
- GroupManagerWindow.cs
- Designer
-
-
- PopupMDIContainer.cs
- Designer
-
-
- ResXFileCodeGenerator
- Designer
- Resources.Designer.cs
-
-
- RemoteDesktopClient.cs
- Designer
-
-
- ServerSettingsWindow.cs
- Designer
-
-
- SplashScreenWindow.cs
- Designer
-
-
- RDThumbnailsWindow.cs
- Designer
-
-
- Form
-
-
- RemoteDesktopClient.cs
-
-
- Form
-
-
- Form
-
-
- ServerSettingsWindow.cs
-
-
- True
- True
- Resources.resx
-
-
- Form
-
-
- SplashScreenWindow.cs
-
-
- Form
-
-
- RDThumbnailsWindow.cs
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
-
Always
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Always
-
-
-
-
-
-
-
+
-
- {6D83410F-1413-4671-994C-AF095C3E5937}
- CommonTools
-
-
- {022081C2-EDAA-46E8-AFA0-7D692722FDCF}
- Database
-
-
- {D016458A-83FA-4A03-B79C-7A0A66C58656}
- DataProtection
-
-
- {6502B815-231B-4FA8-9D6D-0C5849081431}
- LiveInformationBox
-
-
- {8BC7615E-8138-4D3F-B376-3DBECC589E87}
- MsTscAxWrapper
-
-
- {6D66D7E2-DF21-4EB0-8850-A8B214566B44}
- RDPReader
-
-
- {E30F1D6F-B277-4A42-9F1E-74B108FB2513}
- RijndaelEncryptDecrypt
-
-
- {747609D5-6C63-4DEC-BA1E-A518BB8C8C1D}
- TextboxRequiredWrapper
-
-
- {0CF5C405-5ED2-4F7A-8B64-46438CB743B3}
- Win32APIs
-
+
+ Always
+
+
-
- False
- .NET Framework 3.5 SP1 Client Profile
- false
-
-
- False
- .NET Framework 2.0 %28x86%29
- false
-
-
- False
- .NET Framework 3.0 %28x86%29
- false
-
-
- False
- .NET Framework 3.5
- true
-
-
- False
- .NET Framework 3.5 SP1
- false
-
-
- False
- Windows Installer 3.1
- true
-
+
+
+
-
-
-
-
- This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
-
-
-
-
-
\ No newline at end of file
+
diff --git a/RemoteDesktopClient/packages.config b/RemoteDesktopClient/packages.config
deleted file mode 100644
index 61cffd0..0000000
--- a/RemoteDesktopClient/packages.config
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/RijndaelEncryptDecrypt/RijndaelEncryptDecrypt.csproj b/RijndaelEncryptDecrypt/RijndaelEncryptDecrypt.csproj
index a493686..755a774 100644
--- a/RijndaelEncryptDecrypt/RijndaelEncryptDecrypt.csproj
+++ b/RijndaelEncryptDecrypt/RijndaelEncryptDecrypt.csproj
@@ -1,67 +1,10 @@
-
-
+
- Debug
- AnyCPU
- 9.0.21022
- 2.0
- {E30F1D6F-B277-4A42-9F1E-74B108FB2513}
- Library
- Properties
+ net9.0
RijndaelEncryptDecrypt
RijndaelEncryptDecrypt
- v4.8
- 512
-
-
-
-
- 3.5
-
+ disable
+ disable
+ false
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
- false
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
- false
-
-
-
-
- 3.5
-
-
- 3.5
-
-
- 3.5
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
diff --git a/Tests/RDPPasswordEncryptDecrypt/Properties/Resources.Designer.cs b/Tests/RDPPasswordEncryptDecrypt/Properties/Resources.Designer.cs
index a863e49..4e394d0 100644
--- a/Tests/RDPPasswordEncryptDecrypt/Properties/Resources.Designer.cs
+++ b/Tests/RDPPasswordEncryptDecrypt/Properties/Resources.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:4.0.30319.34209
+// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -19,7 +19,7 @@ namespace RDPPasswordEncryptDecrypt.Properties {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
diff --git a/Tests/RDPPasswordEncryptDecrypt/Properties/Settings.Designer.cs b/Tests/RDPPasswordEncryptDecrypt/Properties/Settings.Designer.cs
index 9597324..6e9cd77 100644
--- a/Tests/RDPPasswordEncryptDecrypt/Properties/Settings.Designer.cs
+++ b/Tests/RDPPasswordEncryptDecrypt/Properties/Settings.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:4.0.30319.34209
+// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -12,7 +12,7 @@ namespace RDPPasswordEncryptDecrypt.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.14.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
diff --git a/Tests/RDPPasswordEncryptDecrypt/RDPPasswordEncryptDecrypt.csproj b/Tests/RDPPasswordEncryptDecrypt/RDPPasswordEncryptDecrypt.csproj
index de9809f..74a880d 100644
--- a/Tests/RDPPasswordEncryptDecrypt/RDPPasswordEncryptDecrypt.csproj
+++ b/Tests/RDPPasswordEncryptDecrypt/RDPPasswordEncryptDecrypt.csproj
@@ -1,93 +1,16 @@
-
-
+
- Debug
- AnyCPU
- 9.0.21022
- 2.0
- {4033ADD7-A6AB-4F39-98B0-339CB99965BD}
WinExe
- Properties
+ net9.0-windows
RDPPasswordEncryptDecrypt
RDPPasswordEncryptDecrypt
- v3.5
- 512
-
-
-
-
- 3.5
+ true
+ disable
+ disable
+ false
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
- 3.5
-
-
-
-
-
-
- Form
-
-
- MainWindow.cs
-
-
-
-
- MainWindow.cs
- Designer
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
- Designer
-
-
- True
- Resources.resx
- True
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
- True
- Settings.settings
- True
-
-
+
-
- {D016458A-83FA-4A03-B79C-7A0A66C58656}
- DataProtection
-
+
-
-
-
\ No newline at end of file
+
diff --git a/TextboxRequiredWrapper/TextboxRequiredWrapper.csproj b/TextboxRequiredWrapper/TextboxRequiredWrapper.csproj
index b88ee5c..0567634 100644
--- a/TextboxRequiredWrapper/TextboxRequiredWrapper.csproj
+++ b/TextboxRequiredWrapper/TextboxRequiredWrapper.csproj
@@ -1,61 +1,11 @@
-
-
+
- Debug
- AnyCPU
- 9.0.21022
- 2.0
- {747609D5-6C63-4DEC-BA1E-A518BB8C8C1D}
- Library
- Properties
+ net9.0-windows
TextboxRequiredWrapper
TextboxRequiredWrapper
- v4.8
- 512
-
-
-
-
- 3.5
-
+ true
+ disable
+ disable
+ false
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
- false
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
- false
-
-
-
-
- 3.5
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
diff --git a/Win32APIs/Win32APIs.csproj b/Win32APIs/Win32APIs.csproj
index e8650cf..c720632 100644
--- a/Win32APIs/Win32APIs.csproj
+++ b/Win32APIs/Win32APIs.csproj
@@ -1,58 +1,11 @@
-
-
+
- Debug
- AnyCPU
- 9.0.21022
- 2.0
- {0CF5C405-5ED2-4F7A-8B64-46438CB743B3}
- Library
- Properties
+ net9.0-windows
Win32APIs
Win32APIs
- v4.8
- 512
-
-
-
-
- 3.5
-
+ true
+ disable
+ disable
+ false
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
- false
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..e8e9aca
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,6 @@
+{
+ "name": "MultiRDPClient.NET",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {}
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..0967ef4
--- /dev/null
+++ b/package.json
@@ -0,0 +1 @@
+{}