Não tenho o exemplo, mas vou te sugerir a logica que uso nos meus sistemas... ai vc implemanta:
1) disponibilizo no FTP uma lista (arq txt) com as atualizações disponíveis...
2) o aplicativo conecta (via iNet ou WinSock) o FTP e baixa esta lista...
3) o aplicativo verifica a versao dos componentes instalados, e compara com a lista, verificando se algum está desatualizado. Prepara uma lista dos arquivos desatualizados...
4) o aplicativo faz o Download dos componentes desatualizados, e grava na maquina local (ou na rede)
5) apos o download, o aplicativo instala os componentes, registrando os necessários, e se for preciso substituir o proprio .exe ou algum componente shared, ele reinicia o computador
6) apos a atualizacao da app servidora, ele atualiza as estaçoes clientes (se o sistema rodar em rede), assim é preciso o download apenas uma vez, para todas as maquinas...
Tenho isso tudo programado em um utilitário à parte, assim o sistema pode se auto-atualizar, tipo o Norton AntiVirus... mas nao posso te dar o codigo, pois é comercializado... a logica é a mesma acima, somando um utilitário que altera tabelas e colunas no banco de dados... se isso te interessar, posso descrever tambem a logica dessa parte...
Se vc for desenvolver a rotina, terei o maior prazer em te ajudar...
Abraços...