TWebUpdate better support of subfolders

I prefer to pack every file into separate archive either ZIP or CAB. The reason is to make update incremental so that every user has to download only files that were changed. Now I have problem if the update files are stored in subfolders. For example if I use this section in INF file

[file1]
url=READOUT_FLAG/readout_flag.cab
localversion=readout_flag.exe
targetdir={app}\READOUT_FLAG
descr=READOUT_FLAG\readout_flag.exe
compressed=1

the download of file fails because TWebUpdate cannot properly build ftp path (it deletes part of string before /). I managed to solve this by implementing OnFileNameFromURL and OnBeforeFileDownload events like this:

void __fastcall TForm_Main::WebUpdate1FileNameFromURL(TObject *Sender, UnicodeString URL, UnicodeString &FName)
{
if (update_last_url != URL)
return;
if (URL.Pos(L"/") == 0)
return;

if (on_file_name_from_url_count == 0)
{
FName = URL;
}

on_file_name_from_url_count++;
}

void __fastcall TForm_Main::WebUpdate1BeforeFileDownload(TObject *Sender, int FileIdx, UnicodeString FileDescription, UnicodeString &URL)
{
on_file_name_from_url_count = 0;
update_last_url = URL;
}

It functions pretty well but there is disadvantage that this implementation is too much dependent on implementation details of TWebUpdate component. My suggestion is to consider to add native support for downloading files from subfolders on ftp server. It would make things easier and also added value of this component would be higher.

It is a non-trivial change, certainly to do this in a backwards compatible way.
We will investigate this and consider this for a future development.