A method, comprising: allocating, by a first computing device, a first virtual memory; the first computing device receiving directly into the first virtual memory, executable code of a first piece of software from a second computing system via a communication network; marking, by the first computing device, the first virtual memory as executable; executing, by the first computing device, the executable code of the first piece of software directly from the first virtual memory; determining, by the first computing device, via the execution of the first piece of software, a specific version of a second piece of software to be downloaded based on an operating system of the first computing device; downloading and executing, by the first computing device, executable code of the second piece of software, said downloading and executing facilitated by the executable code of the first piece of software, said facilitation comprising: allocating a second virtual memory; writing the executable code of the second piece of software directly into the second virtual memory; marking the second virtual memory as executable; and executing the executable code of the second piece of software directly from the second virtual memory; and de-allocating the first virtual memory after the execution of the executable code of the first piece of software is completed so that there is no trace of the executable code of the first piece of software on the first computing device. allocating, by a first computing device, a first virtual memory; the first computing device receiving directly into the first virtual memory, executable code of a first piece of software from a second computing system via a communication network; marking, by the first computing device, the first virtual memory as executable; executing, by the first computing device, the executable code of the first piece of software directly from the first virtual memory; determining, by the first computing device, via the execution of the first piece of software, a specific version of a second piece of software to be downloaded based on an operating system of the first computing device; downloading and executing, by the first computing device, executable code of the second piece of software, said downloading and executing facilitated by the executable code of the first piece of software, said facilitation comprising: allocating a second virtual memory; writing the executable code of the second piece of software directly into the second virtual memory; marking the second virtual memory as executable; and executing the executable code of the second piece of software directly from the second virtual memory; and allocating a second virtual memory; writing the executable code of the second piece of software directly into the second virtual memory; marking the second virtual memory as executable; and executing the executable code of the second piece of software directly from the second virtual memory; and de-allocating the first virtual memory after the execution of the executable code of the first piece of software is completed so that there is no trace of the executable code of the first piece of software on the first computing device.