This is an old revision of the document!

Downloading and Installing WinSCP .NET Assembly

This feature is available only in the latest beta release.

Advertisement

Downloading

WinSCP .NET assembly is available in a separate package named winscpXXXautomation.zip on WinSCP download page. Follow the .NET assembly/COM library link.

To use the assembly, you need to have WinSCP installed (or download the portable package). You have to use the same version of the assembly as your version of WinSCP.

Installing

WinSCP .NET assembly interacts with WinSCP winscp.exe. By default it looks for the winscp.exe in the same folder, where the assembly is stored. For that reason, you should extract the package into the same folder, where you have WinSCP installed/extracted. You can also copy all binaries (winscp.exe and winscp.dll) into separate folder.

Installing to Alternative Location

If you cannot store the assembly into the same folder, you can alternatively make use of Session.ExecutablePath property to force the assembly to look for the winscp.exe in a different location.

Note that your runtime or development environment may copy the assembly into an another location. In that case you need to copy winscp.exe into that location too. E.g. If you reference WinSCP assembly from your project in Microsoft Visual Studio, it copies the assembly during build into the project Output path (e.g. <your_project_path>/obj/Debug). Similar case is when you install the assembly into Global Assembly Cache (GAC).

Installing to GAC

If you want to install the assembly into Global Assembly Cache (GAC), particularly to use in from SSIS, use following command:

gacutil.exe /i WinSCP.dll

Advertisement

Use gacutil.exe from your version of .NET framework:

  • .NET framework 4.0: C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\gacutil.exe
  • .NET framework 3.5: C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\gacutil.exe

When you install the assembly to GAC, you need to use it, as if it is installed to alternative location.

Registering for COM

WinSCP .NET assembly exposes its full interface to COM. As a COM library, it needs to be registered before use. If you are going to use the COM interface, register the assembly using1:

%WINDIR%\Microsoft.NET\Framework\<version>\RegAsm.exe WinSCP.dll /codebase /tlb

Where the %WINDIR% is path to your Windows installation, what is typically C:\Windows or C:\WINNT. Note that you can keep %WINDIR% as this environment variable should be set on your system to point to the Windows folder. The <version> is version of .NET framework to register the assembly with. It is recommended to use the latest available, what currenly is v4.0.30319. You may however use any framework version from 2.0 (v2.0.50727) up. Note that framework 3.0 and 3.5 do not ship with RegAsm.exe. For these versions use RegAsm.exe from 2.0.

Typical registration command for .NET 4.0 would be:

%WINDIR%\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe WinSCP.dll /codebase /tlb

Deploying

When deploying the assembly, make sure that WinSCP is installed along with the assembly on the target system and that WinSCP assembly can find the winscp.exe.

  1. You do not need to register the assembly, if you are going to use it directly as a .NET assemblyBack

Last modified: by martin