1. A method for providing a unified binary file, using at least one processor, the method comprising: providing a first binary file of a software program executable on a first hardware platform; providing a second binary file of the software program executable on a second hardware platform; providing a file including code executable on the first hardware platform and the second hardware platform that selects the first binary file when executed on one of the first hardware platform and the second binary file when executed on the second hardware platform; and generating a unified binary file, comprising the first binary file, the second binary file, and the file by: inserting the first binary file into the file as a first subroutine; and inserting the second binary file into the file as a second routine, wherein the first subroutine and the second subroutine comprise directory level information identifying where the corresponding binary file is to be installed and an indicator, the indicator identifying whether a dependent platform specific binary file is to be installed.