I started to test WinSCP using the executables from winscp572.zip, and put them in my test directory. I then created a batch file to list files on a remote host:
winscp.com sftp://firstname.lastname@example.org:22 /command ^
"call ls" ^
This worked fine, so then I ran the installer in winscp572setup.exe and removed the local executables. I checked the option to add WinSCP to PATH. But then the batch file didn't work.
So then I copied the executables from winscp572.zip back to my local directory, and now my batch file worked. So then I removed them again, and BINGO! Now the installed version of WinSCP connects to the remote host.
Obviously the standalone version does something to the registry which the installed version needs to be able to work. And this setting is removed when the installer runs (or it sets some default value which doesn't work)