SocketTools .NET Edition

SocketTools Upgrade Information

This section will help you upgrade an application written using a previous version of the SocketTools .NET Edition. In most cases, the modifications required will be minimal and may only require updating your project references and recompiling the program. However, it is recommended that you review this entire guide so that you understand what changes were made and how those changes can be implemented in your software.

Supported Platforms

SocketTools 11 is supported on Windows 7, Windows Server 2008 R2 and later versions. Earlier versions of the operating system, including Windows XP and Windows Vista are no longer supported by Microsoft and cannot be used with SocketTools. We recommend using the lasted release of either Windows 10 or Windows 11.

Developers who are redistributing applications which target Windows 11 or Windows Server 2025 should upgrade to ensure compatibility with the platform and current development tools. Secure connections require TLS 1.2 or later and most services will no longer accept connections from a client using SSL 3.0 or TLS 1.0.

Development Tools

The SocketTools .NET components may be used with Visual Studio 2010 and later versions. If you are developing using Visual Studio 2010, use the .NET 4.0 assemblies. For Visual Studio 2012 and later versions, you can use the .NET 4.5 assemblies. If you are targeting a later version of the Framework, such as .NET 4.7.2 or .NET 4.8, you should reference the .NET 4.5 assemblies, which are compatible with those versions.

If you have updated your application to use .NET with Visual Studio 2022, we recommend referencing the .NET 8.0 LTS assemblies for most projects. SocketTools 11 also includes assemblies for .NET 9.0 which is a Standard Term Support (STS) release and will only be supported by Microsoft for 18 months.

If you are developing on Windows 7 or Windows 8.1, it is required you use Visual Studio 2010 or a later version. Attempting to use earlier versions of Visual Studio may require that you use those development tools with elevated privileges and they are no longer supported. For Windows 10 and Windows 11, we recommend using Visual Studio 2019 or a later version.

Upgrading Projects

If you are upgrading from earlier versions, applications will be source code compatible with the SocketTools 11 .NET classes. In most cases, all you will need to do is install the current version, update your project references and recompile your application. While the assembly modules retain the same name, the platform specific 32-bit and 64-bit interop libraries have changed to SocketTools11.Interop.dll. This allows applications created using SocketTools 11 to co-exist with applications created using earlier versions of SocketTools.

If you are upgrading from SocketTools 8.0 and earlier versions, the path to the common assembly folder has changed. Earlier versions of SocketTools did not provide assemblies which target .NET 4.5 or later versions of the .NET Framework. The SocketTools 11 assemblies are now installed in the folder C:\Program Files (x86)\Common Files\SocketTools\11.0\Assemblies for each version of the .NET Framework which is supported.

Your runtime license key has changed for SocketTools 11, which will require you to define the new key in your application when calling the class Initialize method. As with previous versions of SocketTools, you can use the License Manager utility to generate a file which contains the runtime key you should use. The SocketTools 10 and earlier runtime license keys are not valid for the version 11 classes and an error will be returned if an invalid runtime key is specified.

With SocketTools 11, secure connections will use TLS 1.2 or later. By default, the .NET components will not support connections to servers which use older, less secure versions of TLS or any version of SSL. They will also no longer use weaker cipher suites that incorporate insecure algorithms, such as RC4 or MD5. For applications that require secure connections, it is recommended you use the current build of Windows 10 or Windows 11 with all security updates applied.

It is possible to force the class to use earlier versions of TLS for backwards compatibility with older servers. This is done by explicitly setting the SecureProtocol property to specify the protocol version required. However, this is not generally recommended because using SSL 3.0 or TLS 1.0 may cause servers to immediately reject the connection attempt.

Most of the networking classes have an option to force them to establish an IPv6 network connection. By default, they will still give preference to using IPv4 for backwards compatibility. Options which only establish connections using IPv6 may prevent applications from working correctly on older versions of Windows.

Interop Libraries

The platform specific interop libraries have been updated for SocketTools 11 and must be installed when deploying your application. For more information, refer to the Redistribution section.

File Name Description
SocketTools11.Interop.dll The SocketTools runtime library. This library is shared by all of the SocketTools and SocketTools class libraries. This library should not be referenced directly in the project, but must be included in the application installation package. It is recommended you install this file in the appropriate Windows system folder.
SocketTools11.TraceLog.dll A debugging library used to generate log files which record the low-level networking functions called and the data exchanged. This library only needs to be distributed if the debugging features of the class are used. This library should not be referenced directly in the project, but should be included in the application installation package. It is recommended that you install this file in the appropriate Windows system folder.