the requirements don't seem to be fully spec'd out
If you just intend on doing a data update, then you can achieve data updates through api calls to a authoritative source and a persistence layer on the client side.
If you intend to do binary updates, theres many different approaches you can take. The firefox method, which is download a completely new binary, swap and restart or you can do it the chrome way and download a binary diff (specialized compressed bsdiff in chromes case) and patch the binary diff against the binary and restart.
"If art interprets our dreams, the computer executes them in the guise of programs!" - SICP
“If at first, the idea is not absurd, then there is no hope for it” - Albert Einstein