Yo tambien tengo ese problema
La forma mas sencilla? No hay que programar cliente/servidor
Hacer un "actualizador", un launcher que bajen de un ftp/dropbox/etc un exe y lo reemplaze es coser y cantar. Si se necesitan distribuir mas archivos o hacer cosas "mas raras", lo metes todo adentro de un paquetito Inno Setup.
Yo uso esta tecnica en un escenario en donde la aplicacion es monousuario y trabaja con una basecita SQLite; dicha base la puede crear perfectamente mi programa si no existe (todas las tablas completas), dispongo de una clase para ello. Al actualizar, si ya tenia una base, creo otra temporal y la comparo con la que ya tenia (tabla por tabla, campo por campo)
Peeero, como realizas actualizaciones SQL en un "servidor", en donde 15 pc comparten el mismo exe; quien las hace??? El que baja primero el exe? Try/except si falla la sentencia porque "la tabla pedrito ya existe"?
Si se programa en capas es mucho mas sencillo, porque las aplicaciones clientes son mucho mas sencillas, de hecho son hasta "bobas": llaman metodos que expone el servidor y muestran resultados, no hacen nada raro
El modelo de meter el mismo exe (cliente / servidor) en cada pc es realmente un dolor de coj..
Lo bueno de programar en capas es que si se actualiza el servidor para corregir/cambiar un metodo, siempre y cuando la firma (nombre y lista de parametros) sea la misma, no te implica tener que actualizar todos los clientes! Se propaga todo "por arte de magia"
Aun asi, hay casos en los que hay que actualizar los clientes porque se agrego funcionalidad por ejemplo. Para estos casos yo sigo pensando que la mejor forma es que el servidor maneje a los clientes; el servidor puede disponer tranquilamente de un metodo que reciba tu version del ejecutable y te diga si tenes que actualizar o no, y que te devuelva el "nuevo exe". Y para los casos de que hay que instalar bibliotecas de terceros, vuelvo a reiterar la opcion de meter todo el paquete dentro de un installer como Inno Setup, y te olvidas de todos los problemas; cualquier usuario, hasta el mas ignaro puede apretar 3 o 4 veces seguidas y sin pestañar, "siguiente"