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; an acquisition unit configured to acquire versions of the first program and the second program stored in said storage unit; a setting unit configured to set, based on compatibility information indicating operable versions of the second program in correspondence with versions of the first program and the versions acquired by said acquisition unit, one of the versions of the second program operable at the version of the stored first program as a post-update version of the stored second program; and a determination unit configured to determine update data files used to update the stored second program to the post-update version based on the post-update version, the version of the stored second program, and the compatibility information, wherein when the version of the stored second program is not a version operable at the version of the stored first program, said determination unit determines one or more update data files including a full update data file which fully updates the second program to a version of the second program operable at the version of the stored first program as the update data files used to update the second program, and when the version of the stored second program is a version operable at the version of the 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 second program.