Hola:
Depende un poco de la aplicación. Para Java existe la tecnología
Java Web Start
Yo, en su día, y hace mucho, hice que la aplicación se actualizara vía FTP. Para eso, cree un módulo que se conectaba a un sitio FTP donde estaban las descargas y un módulo de instalación/actualización. ¡Ojo! Esto tiene el problema de que el .exe (en ejecutables Windows) no se puede actualizar él a sí mismo. Tienes que modularizar el desarrollo y prever las actualizaciones de todos los módulos.
Un saludo.