Some feedback:
let remote_url = "https://gist.githubusercontent.com/ZeSystem-Inc/20ddc1ac41d73c6033cee3b4a5ab1a85/raw";
You have effectively hardcoded the list of software you support, ideally you should be able to dynamically update the list, otherwise you have no way to revoke or update versions if required. And if its hardcoded, why bother network requesting for it, just build it into the binary. Would be a little larger binary, but even faster.
No dependency resolution – eliminates fragility.
Meaningless, there is no dependency resolution because thats done for you by the installers.
Written in Rust – memory-safe, zero-cost, ultra-fast.
The task you are doing is entirely IO bound, rusts performance is irrelevant.