1. An information processing apparatus, which updates a second program, that operates using a first program, using an update data file, comprising: a storage unit configured to store the first program and the second program, wherein versions of the second program, which are operable on the first program, are defined for respective versions of the first program; an acquisition unit configured to acquire information indicating versions of the first program and the second program currently stored in said storage unit and a post-update version of the second program; and a determination unit configured to determine update data files used to update the currently stored second program to the post-update version based on the information acquired by said acquisition unit, wherein when the version of the currently stored second program is not a version operable at the version of the currently stored first program, said determination unit determines one or more update data files including a full update data file which is used, after uninstalling the currently stored second program from said storage unit, for re-installing the second program having a version operable at the version of the currently stored first program as the update data files used to update the currently stored second program, and when the version of the currently stored second program is a version operable at the version of the currently stored first program, said determination unit determines one or more differential update data files which do not include the full update data file and update some data files of the second program as the update data files used to update the currently stored second program.