This error comes in variants:
- Timeout waiting for WinSCP to respond – WinSCP has not responded in time
- Timeout waiting for WinSCP to respond – Log file … was not created in time, please make sure WinSCP has write permissions to the folder
There are several possible reasons for the error:
- WinSCP was run using a different local account and cannot communicate with the .NET assembly. This typically happens, when the assembly is used in IIS web application and impersonation is turned on. Turn the impersonation off for the web application that uses the assembly. Alternatively, if you know, what account is being used, use the
Session.ExecutableProcessPasswordto configure the local account to use for the WinSCP process.
- WinSCP could not create/write to log file that it uses to report back to the .NET assembly. Make sure your process has write permissions to the temporary folder. Alternatively, you can use (undocumented) property
Session.XmlLogPathto change the log file location.
- WinSCP did not correctly start. Make sure your process has permissions to access WinSCP executable and to execute processes. See also related fix for frequent use of the .NET assembly.
- If the problem happend intermittently, try setting longer
Session.Timeout. The machine running your code or the server might be overloaded temporarily.
- One some locales (e.g. Welsh), old versions of WinSCP had problems recognizing command-line arguments from the .NET assembly. See related fix.