1. A method of enabling execution of a software program, said method comprising: obtaining identification information that is indicative of a version of the software program; determining whether processing capabilities of at least one processor on which the software program is to be executed are incompatible with proper execution of the version of the software program; and at least partially modifying the version of the software program to obtain a more suitable version of the software program that will execute properly on the at least one processor.