A program management server comprising: a reboot necessity information storage unit configured to store reboot necessity information for each of multiple versions of at least one program that is an install target of an electronic device, the reboot necessity information for a version of the program indicating whether the electronic device needs to be rebooted when the program is updated to the version from an immediately-preceding version; a difference extracting unit configured to compare a first version of the program installed in the electronic device with a second version of the program in response to a request transmitted by the update control unit of the electronic device to acquire the second version of the program from a program storage unit of the program management server, and to extract difference information including identification information of the program, first version information indicating the first version, and a second version information indicating the second version; a determining unit configured to determine whether the electronic device needs to be rebooted to update the first version of the program to the second version of the program, based on the difference information and the reboot necessity information; and a responding unit configured to return to the update control unit of the electronic device a determination result obtained by the determining unit wherein the update control unit of the electronic device is configured not to reboot the electronic device after the first version of the program is updated to the second version of the program, when the determination result returned from the program management server does not request the electronic device to be rebooted, characterized by the determining unit determines that the electronic device needs to be rebooted when the reboot necessity information indicating that reboot is necessary is stored in the reboot necessity information storage unit for at least one of the second version of the program and any version of the program between the first version and the second version indicated by the difference information. a reboot necessity information storage unit configured to store reboot necessity information for each of multiple versions of at least one program that is an install target of an electronic device, the reboot necessity information for a version of the program indicating whether the electronic device needs to be rebooted when the program is updated to the version from an immediately-preceding version; a difference extracting unit configured to compare a first version of the program installed in the electronic device with a second version of the program in response to a request transmitted by the update control unit of the electronic device to acquire the second version of the program from a program storage unit of the program management server, and to extract difference information including identification information of the program, first version information indicating the first version, and a second version information indicating the second version; a determining unit configured to determine whether the electronic device needs to be rebooted to update the first version of the program to the second version of the program, based on the difference information and the reboot necessity information; and a responding unit configured to return to the update control unit of the electronic device a determination result obtained by the determining unit wherein the update control unit of the electronic device is configured not to reboot the electronic device after the first version of the program is updated to the second version of the program, when the determination result returned from the program management server does not request the electronic device to be rebooted, characterized by the determining unit determines that the electronic device needs to be rebooted when the reboot necessity information indicating that reboot is necessary is stored in the reboot necessity information storage unit for at least one of the second version of the program and any version of the program between the first version and the second version indicated by the difference information.