Back to FlowSsh Documentation

Provided Headers, DLLs, and .NET Assembly

The FlowSsh package contains several DLL, library, and header files. To use FlowSshC/Cpp/Net in your application, you will need to:

  • Include the correct header file (for FlowSshC/Cpp).
  • Link against the appropriate library or add the FlowSshNet assembly to your project.
  • Place all required DLLs into the same folder with your application.

The below listing shows the requirements for each case. Note that FlowSshC.lib and FlowSshCpp.lib both implicitly link to FlowSshC32/64.dll. FlowSshC32/64.dll will in turn load CiProv32/64.dll, which loads CryptoPP530Fips32/64.dll. Windows will look for these DLLs when your application starts. Similarly, the .NET framework will load FlowSshNet32/64.dll and its dependencies. To avoid problems, ensure that all required DLLs are in the same folder with your application.

FlowSshC

  • Header file: FlowSshC.h
  • Library: FlowSshC.lib
  • x86 required DLLs: FlowSshC32.dll > CiProv32.dll > CryptoPP530Fips32.dll
  • x64 required DLLs: FlowSshC64.dll > CiProv64.dll > CryptoPP530Fips64.dll

FlowSshCpp

  • Header file: FlowSshCpp.h
  • Library: FlowSshCpp.lib
  • x86 required DLLs: FlowSshC32.dll > CiProv32.dll > CryptoPP530Fips32.dll
  • x64 required DLLs: FlowSshC64.dll > CiProv64.dll > CryptoPP530Fips64.dll

FlowSshNet

  • .NET namespace: Bitvise.FlowSshNet
  • x86 .NET assembly and its dependencies: FlowSshNet32.dll > FlowSshC32.dll > CiProv32.dll > CryptoPP530Fips32.dll
  • x64 .NET assembly and its dependencies: FlowSshNet64.dll > FlowSshC64.dll > CiProv64.dll > CryptoPP530Fips64.dll

Your project settings determine which set of DLLs will be used. An x86 Visual Studio configuration will use 32-bit DLLs, while x64 will use 64-bit DLLs:

  • For native applications (C/C++) that should run on both x86 and x64 operating systems, select MachineX86 (Project > Properties > Linker > Advanced > Target Machine).
  • For native applications targeting only x64 operating systems, use MachineX64.
  • For managed applications that should run on both x86 and x64 operating systems select the x86 platform target (Project > Properties > Build > Platform target).
  • Managed applications targeting only x64 operating systems can use the x64 platform target.

Visual Studio Redistributables

As a C++/CLI library, FlowSshNet requires a specific version of Microsoft Visual Studio run-time libraries where it is used.

  • If you use the signed binary versions of FlowSshNet32/64.dll we provide, you will need to ensure that either vcredist_x86.exe or vcredist_x64.exe from the FlowSsh package gets installed on your target machines.
  • If you build your own FlowSshNet32/64.dll from the provided C++/CLI source code, you will need to distribute the versions of vcredist_x86.exe or vcredist_x64.exe from your Visual Studio installation directory.

The redistributables are needed for FlowSshNet only. If you're using FlowSsh from native C or C++, FlowSshC and FlowSshCpp do not have this dependency.