The problem part in your alx is
<directory _appsVersion="[4.1.0,4.2.0)">For_4.1.0</directory> |
OTA push can't handle subdirectories. Have a look in the subdirectories, they most probably contain file(s) with the same name (but different versions).
For a test, copy the file(s) from 4.6.0 to the main directory. Then delete all the subfolders and then amend the .alx file so it doesn't refer to directories anymore.