I have used the updater before on a network, but have little experience with ftp.
I had no problem uploading from Update Builder, or connecting with FileZilla and downloading the files, but cannot get the TWebUpdate component configured for a valid connection.
15/04/2021 08:33:32 : [923] Connect to host : sftp://montgomery.dreamhost.com (Status:3) (Error:0)
15/04/2021 08:33:32 : [980] Cannot connect to SFTP host : No such host is known (Status:3) (Error:5)
I suspect you need to set HOST to: montgomery.dreamhost.com and set WebUpdate.UpdateType = sftpUpdate
We could reproduce the issue here and it was resolved by making sure that the 32-bit version of MSVCR110.dll is available for the application to see.
You can try to install the 32-bit version of Visual C++ Redistributable for Visual Studio 2012 Update 4: https://www.microsoft.com/en-us/download/details.aspx?id=30679
This installer will put the DLL in your SysWOW64 folder and the connection should succeed after that. If you still run into issues, let us know.
The main question is, do you still see the exception you reported earlier after the Visual C++ Redistributable update? Update failed with external exception C06D007E
We did some further investigation and detected another issue when connecting to subfolders which prevents your application from updating. We applied a fix that will be part of the next update.
Settings as follow:
Until the next update you can either put your update files temporarily to the root SFTP folder or if this matter is urgent, you can contact us for an incremental source update.
Yes I still get the same exception.
Unfortunately, '/home/tms_Update' is as close to the root as DreamHost allows for users, and this still produces the exception.
The exception you see should be unrelated to the connection. It's most likely an issue with a DLL, so you can try the following:
Make sure that libssh2.dll, libeay32.dll and ssleay32.dll are next to the executable or are available in a system path.
In the libssh2_sftp.pas unit search for the line you see below and temporarily comment out the delayed keyword to disable the delayed loading of the libssh2.dll:
function libssh2_sftp_init; external libssh2_name{$ifdef allow_delayed} delayed{$endif};
This should then throw a different exception that will point to the right direction.
If you read the log, you'll see that it finds the INF file but not the CAB. This is due to the issue I mentioned earlier with the subfolders and will be resolved with the next update.
We did not experience this here. Was it available in the PATH environment variable?