SocketWrench .NET Edition

Component Redistribution

The SocketWrench license permits the use of the .NET class library to build application software and redistribute that software to end-users. There are no restrictions on the number of products in which the class may be used. However, if it has been installed with an evaluation license, any products built using it cannot be redistributed to another system until a licensed copy of the toolkit has been purchased.

Supported Platforms

SocketWrench is designed for the Microsoft Windows platform using the .NET Framework 1.1 or later versions. For software development, it is supported on Windows Vista, Windows Server 2003, Windows XP, and Windows 2000. It is recommended that all platforms have the current version of Internet Explorer installed, along with all service packs and critical updates.

Component Files

For those applications created using SocketWrench .NET, the appropriate class libraries (assemblies) must be distributed along with the application. These files are found in the Redistribute folder where you've installed SocketWrench .NET. The following component files should be included with your application:

File Name Description
SocketTools.Interop.dll The SocketTools networking library. This library is shared by all of the SocketWrench and SocketTools class libraries. This library should not be referenced directly in the project.
SocketTools.SocketWrench.dll The SocketWrench component library. This library provides the class interface to the application. This library is added as a reference in the project.
SocketTools.TraceLog.dll The SocketTools debugging library used to generate trace 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.

Version Information

The SocketWrench components have embedded information which provides version information to an installation utility. This information, called the version resource, specifies the assembly's version number among other things. If you are using a third-party or in-house installation program, it is extremely important that the program knows how to use this information. You should never overwrite a newer (higher) version of the SocketWrench assembly with an older (lower) version or build number.

Installation Directory

The SocketWrench assembly and interop library should be installed in the same directory as the application executable on the target system. Note that you should not install the SocketWrench assembly in the Global Assembly Cache (GAC) or in the Windows system folder. If you are using the Trace related properties in your application, you should also include SocketTools.TraceLog.dll in your installation package.

Strong Name Signing

The SocketWrench assembly is given what is known as a "strong name", which means it has been signed with a cryptographic public/private key pair which ensures that the assembly has not been tampered with. However, if you are redistributing an updated version of the assembly, it requires that you also recompile your application and include it in the distribution. Unlike standard Windows dynamic link libraries, you cannot simply redistribute the assembly by itself because a strong-name signed assembly requires that the signature of the assembly, which includes the version number, match exactly what the application was built with. This is a feature in .NET designed to ensure that the application is using the correct version of the assembly.