1. In a computer system, a method of patching a software implementation, comprising: receiving a patch corresponding to a software implementation; maintaining patch information in association with the software implementation; determining whether the software implementation is installed on the computer system, and: if the software implementation is installed on the computer system, automatically patching the software implementation, and if the software implementation is not installed on the computer system, using the patch information to automatically patch the software implementation when the software implementation is later installed.