A
system and method for executing a
user agent in an electronic device. Upon each startup of the
user agent, the electronic device loads binary code of a base version of the
user agent into memory, and determines whether a binary patch has previously been downloaded. If the patch has been downloaded, it is applied to the base version and the updated base version is executed. The binary patch may be downloaded from a
server, which compiles the binary patch on the basis of stored
source code of the base version and stored
source code of one or more enhancements selected by the electronic device.