Eu faço de uma outra forma, isso ja a muito tempo e funciona muito bem.
No meu banco de dados tenho a versão do sistema/banco e tals, isso no cliente. Tenho um banco de dados de controle online, onde eu atualizo versões do sistema.
Quando o cliente abre o sistema verifico a versão corrente por exemplo 1.0.0b com a versão q informei para o sistema do banco de dados online por exemplo 1.0.0r, isso para aplicação. No caso ja faz o download da v1.0.0r aplicação automaticamente.
Para o controle banco de dados corrente tbm tenho uma tabela chamada “DBApp”, essa tabela basicamente tem informações sobre as tabelas por exemplo Cliente/Estoque/Vendas e tals, ela segue o msm esquema da aplicação mas apenas insere a versao da tabela por exemplo: Clientes1.0,2.0, Vendas 1.0,2.0,3.0 e tals, com isso verifico se o banco da aplicação na tabela do Cliente/Vendas etc… tem ou não novos campos, ou foi alterado algum campo e por ai vai, enfim na tabela Sistema verifico a versão do sistema, na tabela DBApp verifico as tabelas do banco.
Assim eu posso atualizar a versão do sistema independente com o banco e vice-versa.
é isso.
t+ e boa sorte.