Patent ID: 8595720

Claim:
A program management system comprising: a client; and a server that is connected to the client through a network, wherein the server includes: a program storage unit that stores a program to be installed in the client; and a first program information storage unit that stores first program information including information indicating the program stored in the program storage unit and information indicating dependence between the program stored in the program storage unit and other programs stored in the program storage unit, and the client includes: a processor, a memory storing a control program to be executed by the processor, the memory is further configured to be able to add one or more first programs to extend function of the client, and a network interface configured to connect to a server apparatus which has one or more second programs, wherein the control program includes instructions that cause the processor to: send, to the server apparatus, a request for obtaining information regarding the one or more second programs, receive, from the server apparatus, the information regarding the one or more second programs, the information including identification information to identify the one or more second programs and dependence information between the one or more second programs, display, on a display device, a selection screen for receiving selection of a program to be added in the memory from among the one or more second programs, determine whether a program having dependence with the program selected through the selection screen is already installed, display, on the display device, an instruction screen for receiving an execution instruction of addition of the program selected through the selection screen in the memory while displaying a program having dependence with the program selected through the selection screen, and display, if a program having dependence with the program selected through the selection screen is already installed, that the program is already installed, and execute, upon receiving the execution instruction through the instruction screen, addition of the program selected through the selection screen in the memory while also adding, in the memory, a program that has dependence with the program selected through the selection screen and is not yet installed.