1. A computer-readable non-transitory storage medium comprising a plurality of instructions to be executed in a computer-implemented method, said storage medium comprising: a plurality of first instructions to check a plurality of predetermined conditions, to identify a set of issues to arise in applying at least one predetermined patch to at least one predetermined software previously installed in each computer in a plurality of predetermined computers; wherein the plurality of first instructions use metadata comprising first metadata from said each computer in said plurality of predetermined computers and second metadata from a source of said at least one predetermined patch; wherein a group of first predetermined conditions in said plurality of predetermined conditions use said first metadata but not said second metadata, to check if resources needed for patching are available in said each computer; wherein a group of second predetermined conditions in said plurality of predetermined conditions use said second metadata but not said first metadata, to check if said at least one predetermined patch is currently supported; wherein a group of third predetermined conditions in said plurality of predetermined conditions use said first metadata and said second metadata in combination, to check whether said at least one predetermined patch is applicable to said each computer; a plurality of second instructions to select at least one predetermined operation to be performed to correct at least one predetermined issue in said set of issues identified by execution of said plurality of first instructions; and a plurality of third instructions to be executed prior to application of said at least one predetermined patch to said at least one predetermined software, to store in a memory, results of execution of said plurality of first instructions and results of execution of said plurality of second instructions.