my distributed program need update couple of files, i would like it to work the way like those anti virus software updating there virus definition database, is there such framework?

**Edit**:

1. I am not updating the application itself.
2. when the update is done, the application may need reboot.
3. A server will be open for update query and downloading.