Frequently Asked Questions
General Questions
SocketTools is a comprehensive toolkit for Internet and intranet software development that comes in a choice of three editions. You can choose managed code components for either the .NET Framework, ActiveX controls (OCXs) or native dynamic link libraries (DLLs).
The SocketTools Subscription combines the three SocketTools editions into a single package. Using SocketTools, you can easily add secure Internet functionality to your software, such as file transfers or sending email messages, with just a few lines of code.
The current version is SocketTools 11 Build 2210, released on November 14, 2024.
To determine the version of the controls and/or libraries that you have installed, run the License Manager utility that is installed with SocketTools. It will display the version and build number for the product, as well as for each component individually.
Upgrade pricing is always reasonable and developers who are using an earlier version of SocketTools can upgrade online.
The SocketTools .NET Edition includes managed code classes for development using Visual Studio 2022 or earlier versions, and can be used with any .NET language, including C# and Visual Basic. If you need to migrate a project that uses our ActiveX controls, the SocketTools .NET classes provide a similar interface, making the transition as simple as possible.
The SocketTools ActiveX Edition is ideal for developers who are using development tools like Visual Basic. Any language that supports the Component Object Model (COM) and ActiveX control specification can use the controls in the ActiveX Edition. The primary advantages to the ActiveX Edition is a low learning curve and ease of implementation, along with support for development environments like Visual Basic 6.0 and Microsoft Office.
The SocketTools Library Edition is ideal for developers who need the flexibility and low overhead of standard Windows dynamic link libraries (DLLs). More than just for C/C++ programmers, most Windows programming languages can make use of the Library Edition. The primary advantage to the Library Edition is improved performance and minimal system resource requirements. The Library Edition includes C++ classes, along with function prototypes and declarations for a variety of different programming languages such as Object Pascal and PowerBASIC.
All SocketTools 11 editions are fully supported on Windows 11 and Windows Server 2025. Each edition includes both 32-bit and 64-bit components for broadest compatibility with all supported Windows platforms.
Yes, SocketTools includes both 32-bit and 64-bit components and libraries. For the broadest compatibility across Windows platforms, you can use the 32-bit components which will work on native 32-bit Windows platforms, as well as 64-bit versions of Windows using WoW64.
The 64-bit components can be used for native 64-bit development and require that you are developing on a 64-bit version of Windows. It is important to note that although the 32-bit components will work on both 32-bit and 64-bit versions of Windows, the 64-bit components will only work on 64-bit Windows and cannot be used on 32-bit versions of Windows.
If you are using the SocketTools .NET Edition, your project may explicitly target the x86 (32-bit) or x64 (64-bit) platform, as well as "Any CPU" which has the runtime automatically select the correct version based on the underlying operating system.
Yes, both IPv4 and IPv6 connections are supported. For IPv6 support, the protocol must be enabled and configured to use either a direct IPv6 connection through your service provider or an IPv6 tunnel such as Microsoft's Teredo or Hurricane Electric's IPv6 tunnel broker. For backwards compatibility with existing software and services, SocketTools does not require that you configure an IPv6 connection and will use IPv4 by default.
Yes, all SocketTools editions support secure, encrypted connections. Each edition can establish secure connections using TLS 1.2 or later, depending on the Windows platform. In addition, SocketTools also supports SSH 2.0, which can be used to create secure, interactive terminal sessions, execute commands remotely and perform file transfers using SFTP.
SocketTools will automatically select the strongest encryption available on both the client and server, including 256-bit AES encryption, and supports the use of client certificates for authentication.
SocketTools will always default to using the strongest security options available. This generally means that secure connections will default to using TLS 1.2 or later versions and AES-256. For SSH and SFTP connections, SSH 2.0 and AES-256 are used by default. There are backwards compatibility options available to connect to older servers that may not support current security standards.
Yes, all SocketTools editions support OAuth 2.0 with web and mail services. Please review the OAuth 2.0 Frequently Asked Questions document which goes into more depth about how OAuth is used.
The FAQ includes some general information, as well as specific links to resources on how to get started using OAuth with Google and Microsoft.
SocketTools includes server components for the File Transfer Protocol (FTP) and the Hypertext Transfer Protocol (HTTP). They are available in all SocketTools editions, and implement the protocol standards along with a number of common extensions. SocketTools also includes a general purpose TCP/IP server component that can be used to implement a custom server of your own design.
There is no need to install or configure any third-party software. The server components do not require the installation of Microsoft's Internet Information Services (ISS) and there are no additional executable programs or services that need to be installed with your software. Only the server component itself needs to be redistributed with your application.
The server components are supported on both the desktop and server platforms, including Windows 11 and Windows Server 2022. The minimum operating system required is Windows 7 SP1 or Windows Server 2008 R2. The server components do not have any usage limitations based on the operating system platform.
The minimum supported version of Windows is Windows 7 with Service Pack 1 (SP1) installed, or Windows Server 2008 R2 with Service Pack 1 (SP1) installed. Developers using Windows 8 should upgrade to Windows 8.1. Both 32-bit and 64-bit versions of Windows are supported.
If you are using SocketTools to establish secure connections, we recommend using Windows 10 or later on the desktop. For secure servers, we recommend Windows Server 2019 or later. Certain security features, such as the supported TLS protocol versions and the available cipher suites, are determined by the version of Windows that is hosting the application.
The minimum memory and disk space requirements for end-users are the same as for the base operating system. Any functional differences between the platforms are handled internally by the components and/or libraries without requiring additional coding on the part of the developer.
Yes, SocketTools is supported on Windows Server 2008 R2 through Windows Server 2022. You can use SocketTools to create stand-alone applications or standard Windows services that run in the background. Any internal differences between the desktop and server platforms, as well as between the different versions of Windows, are handled transparently by SocketTools.
Yes. Windows Embedded (which includes Windows POSReady 7 and Windows Embedded 8 Industry) are specialized Point of Service versions of Windows used with industrial devices such as automated teller machines and cash registers.
Windows POSReady 7 is based on the Windows 7 platform and Windows Embedded 8 Industry is based on the Windows 8 platform. Windows Embedded supports the full Win32 API and the .NET Framework. Generally speaking, applications which target Windows 7 or Windows 8 will also function in the same way on their corresponding Windows Embedded versions.
Support for Windows XP has been discontinued. Although applications built using earlier versions of SocketTools may continue to function, we can no longer provide support for the platform. Microsoft discontinued support for Windows XP on April 8, 2014.
Yes, evaluation copies for all SocketTools Editions are available for download. The evaluation package is fully functional and can be used for a period of thirty (30) days from the date of installation.
Please note that during the evaluation period, the libraries and/or components are licensed for use only on the development system and may not be redistributed until a license is purchased. Technical support for evaluators is free during the evaluation period.
An evaluation license for the current version can only be installed once for a given product. Once the evaluation period has expired, or the product license has been deleted, the software can only be installed using a valid serial number.
If this is the first time that you have installed SocketTools, it may be that another developer had previously installed an evaluation version and later uninstalled the product from that system. Please contact us if you have any problems with your evaluation, we do provide free technical support for our products.
If you have previously evaluated an older version of SocketTools, or a different SocketTools edition, you can install a new trial version on the same system. For example, if you had previously evaluated SocketTools, you could install the trial version of the current SocketTools release on the same system and get a new thirty day evaluation license.
SocketWrench is included with SocketTools, and is available with each edition. When purchased with SocketTools, you will get unlimited technical support and free updates for SocketWrench.
Developers who have an older SocketWrench license are entitled to upgrade to the full version of SocketTools at a substantial discount. Please contact our sales staff for more information.
We also offer a stand-alone version of SocketWrench which includes limited support for installation and redistribution only.
Free technical support by email and through our website, as well as access to our support forums and online knowledge base, is included with every license. When support is discontinued for an older version of SocketTools, no further updates or hotfixes will be released for that version, however the online resources will remain available.
We also provide priority support for developers who require a same-day response on support issues and need on-demand hotfixes, rather than waiting for the next product update. We also offer a premium support option that guarantees support responses within four hours, along with phone support, on-demand hotfixes and free product upgrades to the next version.
For more information, please review our Support Policy and learn about the Support Options that are available to you. Support contracts may be purchased along with a new license or purchased separately.
If you have submitted a support request, or emailed our support team directly, we typically respond within one day. If the support request was submitted on a weekend, or during a holiday, you should receive a response the next business day. Questions from subscribers and those with support agreements will be given priority in the support queue.
If you haven't received a response from us within the expected timeframe, it is very likely the email address you provided was incorrect, your mail server is blocking our reply or the response has been moved to your "junk" folder. Make sure that emails from the sockettools.com domain have been whitelisted on your server and/or in your mail client.
If your mail server is blocking our response to you, simply send a new support request through our website, reference the previous request and provide an alternate email address using a different mail provider.
If you have sent us a follow-up email that contained a file attachment, make sure the attachment is in Zip format. Any messages that you send to our support team which include other attachment file types (executables, documents, etc.) will typically be blocked by our mail server.
Development Questions
You can request an experienced software architect provide your company with a free quote and consultation for a project that uses SocketTools. This can include developing a specific desktop or server application, or a custom modification to a SocketTools component. Please provide as much information about your project as possible.
Request Quote
The SocketTools Library Edition includes libraries that can be used to create native applications in Visual C++, and it supports both 32-bit and 64-bit Windows platforms. The ActiveX controls in the ActiveX Edition can also be used with current versions of Visual Studio through a COM interop wrapper; however, there can be a significant performance penalty when using ActiveX controls in a managed code application. It is recommended that developers who are using C# or Visual Basic upgrade to the SocketTools .NET Edition.
Yes. SocketTools includes assemblies which target the .NET 9 release. You must install the latest Visual Studio 2022 release to use the .NET 9 assemblies in your projects. SocketTools is designed for the Windows desktop and server environments and is only supported on those platforms.
Support for .NET 9.0 is only available for SocketTools 11 and later versions.
Yes. SocketTools includes assemblies which target previous versions of the .NET Framework, from .NET 4.0 through .NET 8.0. For new applications, we recommend you continue to target .NET 8.0 because it is the current Long Term Support (LTS) version of .NET.
Support for .NET 8.0 is only available for SocketTools 11 and later versions.
The SocketTools 11 ActiveX Edition and Library Edition can be used with the Visual Basic 6.0 development tools. It is required that you install Service Pack 6 for Visual Studio 6.0, which can be downloaded from the Microsoft Download Center.
The current version of SocketTools requires Windows 7 SP1 and later versions. Windows 2000, Windows XP and Vista are no longer supported.
The SocketTools .NET Edition components are managed code classes and require the .NET Framework and Common Language Runtime, and as such are not supported in Visual Studio 6.0.
Yes, the SocketTools components and libraries can be used Visual Studio Community 2022. If you are using Visual Basic or Visual C#, it is recommended that you download the SocketTools .NET Edition. If you are using Visual C++, it is recommended that you download the SocketTools Library Edition. An academic discount is available for all registered students who wish to purchase a SocketTools license.
Yes, the controls in the SocketTools ActiveX Edition can be used with Visual Basic .NET and C#. However, if you are developing on the .NET platform, we recommend switching to the SocketTools .NET Edition. You'll see improved performance and it offers an interface that makes the components much easier to work with.
If you're planning on migrating your application to .NET, many of the properties, methods and events are similar to the ActiveX controls. Although there are some differences between the two editions in terms of the interface, those differences are relatively minor. Both editions include the same basic collection of components and support the same Internet application protocols.
The SocketTools .NET components are managed code classes which require the .NET Framework and a programming language which can generate Common Intermediate Language (CIL) bytecode. They do not expose COM interfaces and cannot be used with Visual Basic 6.0 or programming languages that don't support the use of .NET assemblies. The minimum version of Visual Studio required for development is Visual Studio 2010 and .NET Framework version 4.0.
Yes, the SocketTools ActiveX Edition components can be used with server-side scripting host environments like ASP and the SocketTools .NET components can be used with ASP.NET. Because SocketTools directly interfaces with the networking subsystem on the server and accesses the registry, it is required that your application be granted full trust on the server. If your code is being hosted on a third-party server, check to make sure that this is permitted by the service provider.
Yes, applications that use SocketTools can be deployed to the Azure cloud platform. Azure VMs can use Windows Server as the operating system and SocketTools can be used to create both stand-alone programs as well as standard Windows services. Note that for your service to be publicly accessible, the Azure VM needs to be running with a public IP allocated, and you must define an endpoint that permits clients to connect to your service.
SocketTools does provide limited support for the Linux platform. We have tested our libraries (DLLs) for use with Windows applications running under Wine for Linux. We have also successfully tested our installer running under Wine, so it is possible to install SocketTools on a Linux system. We recommend using the SocketTools Library Edition and Wine 5.0 or a later version on a current, supported Linux distribution.
Although it is possible to use some Windows development tools on Linux, it's generally better to develop and test your application on Windows. Once you have a working program, then test the deployment on the Linux system.
If you encounter a problem with your program on a Linux system, first check to see if you can reproduce the error on a supported version of Windows. Our technical support team will do their best to assist you, but please understand that we may not be able to resolve issues that can only be reproduced on Linux and do not occur on native Windows platforms.
SocketTools 11 requires version 2.2 of the Windows Sockets API and loads WS2_32.DLL. This is the current version of the API and is supported on Windows 7 and later platforms. If that version of the Windows Sockets library cannot be loaded and initialized, an error will be returned to the application indicating the failure.
The SocketTools components and libraries do not use the WinInet library or have any dependencies on Internet Explorer. It is only required that the system have the TCP/IP network drivers installed and configured.
When you establish a secure connection, SocketTools will use the latest version of TLS available, depending on the Windows version your application is running on. For Windows 7, 8, 8.1 and 10 this means it will default to using TLS 1.2. For Windows 11 and Windows Server 2022, it will default to using TLS 1.3.
Because SocketTools uses the Schannel SSPI, the version of TLS selected depends on the operating system version. If you request TLS 1.3 on a system which does not support it, it will automatically fall back to using TLS 1.2. SocketTools will not attempt to use either TLS 1.0 or TLS 1.1 by default, since these versions of the protocol have been deprecated and are no longer considered secure.
You can develop your application on a system that does not have an active connection to the Internet. The SocketTools components will dynamically load the appropriate networking libraries whenever a property is set or a method is invoked which requires access to the network. If you are using the SocketTools Library Edition, the networking libraries are loaded whenever the initialization function is called by your application.
Some SocketTools services, such as the private application cloud storage, GeoIP location and text messaging gateway service require an active Internet connection. These components will not function without the ability to connect to the SocketTools servers.
SocketTools is a commercial product that is licensed per developer. There are no restrictions on redistributing the compiled version of your software. However, if you wish to provide the source code for your application, you may not include your SocketTools runtime license key. Anyone who wishes to recompile your software would be required to purchase a SocketTools development license.
The Library Edition uses native Windows DLLs which can be used by most Windows programming languages. They are not ActiveX DLLs that expose a COM interface. This ensures that you can use SocketTools in the widest range of development projects with minimal overhead and without concern about compatibility with a specific language or platform.
If a language is capable of calling native Windows API functions, it can use the SocketTools libraries. Note that VBScript and JScript cannot directly call functions exported from a native DLL and you should use the SocketTools ActiveX Edition instead.
Yes, the SocketTools components and libraries can be safely used in multithreaded applications. When a client session is created, it is associated with the thread that created it until the thread is destroyed.
If you create worker threads, it is recommended that same thread be used to manage the session from the point where the connection is established with the server. An alternative would be to use the free-threading option when establishing the connection. Refer to the technical reference documentation for more information about how to enable free-threading in the .NET classes and standard libraries.
The SocketTools libraries and components are completely self-contained and do not require the installation of any third-party libraries.
If you are using the SocketTools ActiveX Edition, your application installer will need to register the controls. This can also be done from the command line. The libraries in the Library Edition are not COM objects and there is no need to register them.
Licensing Questions
The complete license agreement for the product can be found in the online help. In general terms, it permits you to install SocketTools on your development system, use the product to build application software and redistribute that software to your end-users. There are no runtime licensing fees, and there are no restrictions on the number of products which may be developed using SocketTools components.
There are two primary restrictions, the first being that SocketTools is only licensed for use by a single developer. The second restriction is that you may not use the components to create a software development product which is then used and/or resold by your customers.
You may use SocketTools to build application software, but you are not permitted to create software development components or libraries which are then used by your customers to create their own software which, in turn, they distribute to end-users. Simply put, you're not permitted to use our components to compete against us in the marketplace. If you have any questions regarding the licensing agreement, please contact us.There are no additional redistribution or runtime licensing fees. The development license allows you to make any number of products with the SocketTools components, and redistribute those components along with your application to any number of end-users.
If you choose to install SocketTools without a serial number, then an evaluation license will be created that is valid for a period of thirty (30) days. The software is fully functional during the evaluation period; however, you will be unable to create redistributable applications using the components and/or libraries.
The evaluation license is only valid for the current user who installs SocketTools. You will be able to create and test applications on your development system during the evaluation period, but you will not be able to run those programs on any other system until you purchase a development license.SocketTools components and libraries are fully functional during the evaluation period and the same code that you develop during the evaluation period can be compiled and used once you have purchased the product.
There are two limitations to consider when developing software using an evaluation license. First, the components and/or libraries will cease to function after the evaluation period has expired. This means that you will not be able to load them into your development environment, and any application that uses them will no longer function. Second, you cannot redistribute any application that uses SocketTools with an evaluation license.
An application that is created using an evaluation license will only function on the development system where the license is installed, as the user who installed SocketTools. Once you have purchased a license, you only need to recompile your application with your new, registered license.You must have a valid development license to redistribute an application built using SocketTools components. The license you have purchased permits you to create an unlimited number of programs and you may redistribute the software to any number of end-users. However, you cannot redistribute any applications created using an evaluation license.
If you attempt to redistribute an application created using an evaluation license, depending on the development environment, you will either be unable to compile the application, or it will fail to initialize correctly, and your application will be unable to load. During the evaluation period, an application using our components will only function on the development system on which it was created, under the account of the user that installed SocketTools. This restriction is removed after a development license has been purchased.When the product is installed with a serial number, a unique runtime license key will be created which is used by the component or library to validate that a licensed copy of the product has been purchased. For languages like Visual Basic using the ActiveX controls, the license key is managed internally and typically won't require any additional coding. However, some languages don't directly support the use of runtime license keys so the component must be initialized with the license key by calling the Initialize method. For more information, refer to the technical reference documentation.
Note that your product serial number is not the same as the runtime license key. Without a license key, applications which use SocketTools will only work on the local system that has a development license and cannot be redistributed to end-users.Yes, a license is required for each developer who is using SocketTools. It is a violation of the terms of the license agreement for more than one developer to use the same copy of the product. However, the same developer may install the product on more than one system as long as there is no chance that it will be used by another developer.
It is not necessary to purchase a license for those developers who are not creating or modifying software that uses any of the SocketTools components. For example, if three developers are creating an application, with two of the developers using Visual Basic and the SocketTools .NET Edition classes, and one of them is using Visual C++, two licenses would be required. A license would not be required for the C++ developer, unless that developer was also using one of our components or libraries.
If you have any questions about usage, or for information about purchasing additional licenses, please contact us.The license allows you to install your copy of SocketTools on both your desktop and a laptop or tablet that you use for development and testing. However, if more than one developer is working on a project which uses SocketTools, then a license must be purchased for each developer.
Our licensing is per developer, and as such does not require an additional license if you need to install SocketTools on a dedicated build system that is not used by any other developers. If multiple developers have access to the build system and will be using SocketTools, then a license must be purchased for each developer.
Your license is specific to the edition of SocketTools that you have purchased, and both your serial number and runtime license key cannot be used with a different edition. If you have purchased your license within the past thirty (30) days, it is possible to switch to a different edition at no cost. Your current license will be voided, and you will be issued a serial number for the new product.
If you have recently purchased SocketTools and need to switch to a different edition, please contact us and provide your current serial number.If you are no longer developing with SocketTools, you may be able to transfer your license to another developer. Contact our business office and provide them with the product serial number, your contact information and the information for the developer that the license is being transferred to.
It is not permitted to temporarily transfer a license to a contract developer and then when their project has been completed, return the license back to the original developer. In that case, you would need to purchase an additional license specifically for the use of the contract developer.No, SocketTools does not require online activation or registration. We feel this is too restrictive for developers who frequently develop and test applications on multiple platforms.
Purchasing Questions
No, it's not required for you to create an account to purchase a SocketTools license or download updates for your software. We never share your personal information with third parties. If you'd like to learn more about how we handle personally identifiable information, please refer to our Privacy Policy.
Upgrades to the next major version are available for free to developers who have an active subscription or premium support contract. Free upgrades are also available to customers who have purchased a license for the previous version less than thirty (30) days prior to the release of the new version. For all other developers, upgrades are available at a substantial discount over a new license.
There is never a charge for product updates to the current, supported version of SocketTools. When you purchase a license, you are entitled to free updates for that version for the life of the product. We will only charge for upgrades to major version releases. Please contact the business office if you have any questions about upgrading your license.This depends on several factors, including which SocketTools components are being used and the difference between versions. Updating an application that uses the previous version of SocketTools usually requires minimal changes, typically to take advantage of the new features in the control or library. We have included information about updating your projects in the online help.
The changes that were made to the interfaces were based on three key design goals. First, we wanted to make SocketTools even easier to use, particularly for newer developers. We also wanted to make the programming interfaces for the various controls and libraries to remain as consistent as possible, while accommodating new features such as IPv6 support. And lastly, we wanted to enable developers to do more with fewer lines of code.The SocketTools 11 libraries and controls have different module names and GUIDs, which will allow them to co-exist with the libraries and controls included with SocketTools 10 and earlier versions. New applications can be deployed along side of older applications written using earlier versions of SocketTools without any conflicts.
Our online order form only allows you to upgrade the edition that you are currently using. To switch to a different SocketTools edition, please contact our business office and they can assist you. If you have an active SocketTools Subscription, then you already have all SocketTools editions and are entitled to a free upgrade to the current version.
Because the SocketTools Subscription includes all of the SocketTools editions, along with free upgrades and priority technical support, there is no direct upgrade path from one of the individual SocketTools products. If you wish to purchase the SocketTools Subscription and have any questions about upgrading from your current version, please contact the business office and they can assist you.
If you currently have a technical support contract at the time you upgrade, your new SocketTools license will be transferred to that contract for the remainder of the support period. Technical support for the previous version of SocketTools will also remain available for the remainder of the contract.
General sales of previous versions of SocketTools are discontinued when a new release is available. However, if you need a license for an older version of SocketTools, please contact the business office. Previous versions can be made available on request. Please note that support options for an older version of SocketTools may be limited.
Free technical support for older versions of SocketTools is based on when the next major version was released. A major version release is typically supported for several years. Please review our SocketTools Lifecycle article for more information.
Technical support for SocketTools 10 ended on August 31, 2023. Previous versions of SocketTools are no longer supported. Additional options for extended support may be available. If you have any questions, please contact our business office.The upgrade exchanges your current license with a license for the new version of SocketTools. You will be able to still modify, compile and redistribute your existing applications using the previous version of SocketTools and you will be able to obtain technical support for the previous version until the product reaches its end-of-life. You may not transfer or share your license for the previous version with another developer after you have upgraded.
Knowledge Base
Our knowledge base provides detailed solutions and answers to common questions. It covers topics such as installation and licensing, common errors and network troubleshooting.
Contact Us
If you have any questions about our products, licensing or support options then you can contact us by email. You can also call our sales team during normal business hours at +1 760-228-9653.