Foros del Web » Programación para mayores de 30 ;) » Programación General »

Actualización

Estas en el tema de Actualización en el foro de Programación General en Foros del Web. Hola a todos. Tengo un programa que es utilizado por varios usuarios y se me hace muy difícil estar en la pc de cada usuario ...
  #1 (permalink)  
Antiguo 04/02/2004, 14:47
Avatar de reel  
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 496
Antigüedad: 20 años, 9 meses
Puntos: 1
Actualización

Hola a todos.

Tengo un programa que es utilizado por varios usuarios y se me hace muy difícil estar en la pc de cada usuario actulizando la nueva versión del programa.

Me gustarían que ma ayudaran a dar indeas de como eloborar un modulo de auto actualización para el programa.

Me vendría muy ideas de lógica o código que pueda utilizar. El programa lo esoy programando con VB 6.0.

Saludes a todos y muchas gracias por el mensaje.
__________________
Leer es Saber, REEL.
Mi Blog
  #2 (permalink)  
Antiguo 04/02/2004, 15:50
Avatar de pabli  
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 21 años, 1 mes
Puntos: 0
reel,

empaquetándolo (que es lo normal) con las herramientas de VStudio solo lo tienes que hacer una vez, mandarlo a cada cliente y que ellos lo actualicen, como el que se instala un juego. No importa cuantos clientes sean.

Saludos
Pablo
  #3 (permalink)  
Antiguo 04/02/2004, 15:51
 
Fecha de Ingreso: febrero-2002
Ubicación: Santiago
Mensajes: 253
Antigüedad: 22 años, 9 meses
Puntos: 0
Cita:
Tengo un programa que es utilizado por varios usuarios y se me hace muy difícil estar en la pc de cada usuario actulizando la nueva versión del programa.
Deja el Ejecutable y los archivos necesarios para que funcione el programa en un servidor.
Luego en cada PC crea un acceso directo que apunte al ejecutable del servidor.
Asi cuando actualices el programa haces los cambios solo en el servidor(Todos los Usuarios verán el nuevo ejecutable).

Nota: Hay que tener presente que para reemplazar el ejecutable, no tiene que que haber ningun PC conectado al ejecutable del servidor.

Es la mejor solución que Hay
  #4 (permalink)  
Antiguo 04/02/2004, 16:24
Avatar de reel  
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 496
Antigüedad: 20 años, 9 meses
Puntos: 1
Sonrisa

Muchas gracias por su repuestas.

Pabli: el problama de enviar el empaquetar es que este es muy grande por lo tanto no puedo enviarlo continuacmente. Además que tu sabes que siempre los usuarios crean problemas y mientras menos intevensión del usuario halla mucho mejor.

Renegado: me gusta mucho tu idea, esta muy buena, pero eso solo funciona para actulizar el ejecutable, pero si le agrego nuevos componentes al programa tego que instalar los ocx y dll necesarios al cliente para que funcione.

Me gustaria saber cual es la lógica que usan ciertos programas que se conectan a internet y verifican si hay una nueva versión del software y leugo pregunta al ususrio si desea actualizar el programa, así como lo hace le Messanger de Microsoft.

Espero seguir recibiendo sus iedeas, saludes a todos.
__________________
Leer es Saber, REEL.
Mi Blog
  #5 (permalink)  
Antiguo 04/02/2004, 16:37
Avatar de pabli  
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 21 años, 1 mes
Puntos: 0
reel,

el programa accede a una base de datos???

Pablo
  #6 (permalink)  
Antiguo 04/02/2004, 16:40
Avatar de reel  
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 496
Antigüedad: 20 años, 9 meses
Puntos: 1
Pabli, si, el programa accede ana base de datos.

Saludos
__________________
Leer es Saber, REEL.
Mi Blog
  #7 (permalink)  
Antiguo 04/02/2004, 16:57
Avatar de pabli  
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 21 años, 1 mes
Puntos: 0
Pues esto es el ideal:

un diseño en tres capas:
-BBDD
-Negocio
-Cliente

este diseño es el más lógico desde el punto de vista de mantenimiento y el ideal a intertar acercarse todo lo posible. Pero también es el más ambicioso pues hay tener ciertos conocimientos que no son los habituales, por lo menos en mi caso. La capa cliente solo visualizaría y poco más. Y la capa de negocio es donde iría toda la lógica susceptible de ser actualizada. También es posible actualizar la lógica en la BBDD, contando con procedimientos almacenados, que salvan alguna que otra vez la situación, lo digo por experiencia.

Saludos
Pablo
  #8 (permalink)  
Antiguo 04/02/2004, 17:08
Avatar de reel  
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 496
Antigüedad: 20 años, 9 meses
Puntos: 1
Pabli: Pues me parece muy buena idea la de programar en 3 capas, porque en muy buena técina de programación. Realmente yo no implemennto la técnica. Pero me gustaria que me ayudaras y me brindaras links donde pueda encontrar más sobre ésta técnica.

Por que en este momento no veo como me facilitaría la actualización del programa. Algo que me crea disficulta es ver la línea que divide las 3 capas, ¿que es lo que abarcar cada capa?

Saludes.
__________________
Leer es Saber, REEL.
Mi Blog
  #9 (permalink)  
Antiguo 04/02/2004, 17:33
Avatar de pabli  
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 21 años, 1 mes
Puntos: 0
reel,

es otro concepto o diseño de aplicación, pero si la aplicación ya está implementada podría llegar a ser coplicado o trabajoso pasarla a este diseño.

Poco puedo ayudarte en este diseño, pues yo siempre he tirado por el de dos capas:
-cliente con mucha o toda la lógica y
-base de datos
porque nunca he hecho aplicaciones para un gran número de clientes.

La gracia del diseño en tres capas es que solo se actualiza la intermedia o de negocio, o sea solo una vez.

Como se implementaria? Pues a grandes rasgos, pues solo tengo algún conocimiento a nivel teórico...
-cliente que solo visualiza, por ejemplo informes.
Hace una petición a un servidor que tenga intalado un software que gestione transacciones, por ejemplo Microsoft Trasanction Server(MTS), donde están instaladas las librerías con toda la lógica, en VB por ejemplo. Estas librerías dependiendo de la petición del cliente consultan la base de datos como lo haría cualquier aplicación, y la base de datos devuelve datos que la capa intermedia devuelve al cliente.
Un ejemplo claro de este diseño es internet:
-cliente > internet explorer
-capa intermedia > servidor de internet (IIS, APACHE)
-bbdd > SQLServer, Oracle, MySQL

A mi lo que se me escapa un poco, es la parte intermedia, la gestión de MTS, la conexión del cliente a las librerías.

Links, tampoco puedo ayudarte mucho, busca por MTS a ver si encuentras algo. Tengo muchos libros de VB y no viene nada, es una pena, entre ellos,
Programación avanzada con VisualBasic 6 de Francesco Balena
donde dedica unas cuantas páginas, poca cosa.

A ver si encuentras algo.
Pablo
  #10 (permalink)  
Antiguo 04/02/2004, 17:55
Avatar de reel  
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 496
Antigüedad: 20 años, 9 meses
Puntos: 1
Muchas grcias por la ayuda, voy bucar información en estan inmensa web.

Saludes.
__________________
Leer es Saber, REEL.
Mi Blog
  #11 (permalink)  
Antiguo 04/02/2004, 18:03
Avatar de pabli  
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 21 años, 1 mes
Puntos: 0
Por mi lado también buscaré, pues me interesa, y nos intercambiamos links...

Saludos
  #12 (permalink)  
Antiguo 04/02/2004, 18:17
Avatar de reel  
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 496
Antigüedad: 20 años, 9 meses
Puntos: 1
Si claro no hay problema, apenas consiga algo te aviso por este foro.
__________________
Leer es Saber, REEL.
Mi Blog
  #13 (permalink)  
Antiguo 03/03/2004, 16:47
Avatar de reel  
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 496
Antigüedad: 20 años, 9 meses
Puntos: 1
Busqueda Una solución

Hola ha todos.

He econtrado una solución viable para resolver mi problema. Consiste en lo siguiente. He creado el siguiente archivo de lotes para dos.

.................................................. ...........

@echo off
echo ......................
echo Actualizando
echo ......................

echo Conectando

net use k: \\pc\recurso /USER:usuario password

IF ERRORLEVEL 2 GOTO ERROR

IF NOT EXIST k:\support\file.exe GOTO FILE

xcopy file.exe .\file.ori /Y /D
xcopy k:\support\file.exe . /Y /D

echo Actualización completada

echo Desconectando
net use k: /delete

pause

exit

:FILE
echo EXE no esta en el servidor
echo Desconectando
net use k: /delete

:ERROR
pause

.................................................. ...........

El bat mapea el rucurso del servidor, luego verifica que no se produjo un error en el mapeo, verifica que exista el EXE, hace una copia de la versión actual de EXE y cambia la extension a .ori, sobreescribe con el exe del servidor y se desconecta del rescurso compartido.

Para que funcione este bat de ejecutarse en el directorio en que se encuentra el exe.

Por lo menos de esta forma solo tengo que avisar al usauiro que ejecute el bat para actualizar el programa.

Saludes a todos
__________________
Leer es Saber, REEL.
Mi Blog

Última edición por reel; 03/03/2004 a las 16:56
  #14 (permalink)  
Antiguo 04/03/2004, 02:29
Avatar de pabli  
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 21 años, 1 mes
Puntos: 0
Muy bueno, reel, me guardo el ejemplo,

pero solo copia el ejecutable, verdad? no instala de nuevo!

Saludos
Pablo
  #15 (permalink)  
Antiguo 04/03/2004, 08:17
Avatar de reel  
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 496
Antigüedad: 20 años, 9 meses
Puntos: 1
Hola,

Pablo, asi es solo copia el ejecutable (lo sobreescribe), pero se me olvido aclarar que el bat, solo funcionara con los sitemas operativos de Micorsoft que utilizen tecnoligía NT.

Para poder utilizarlo con windows 95 tendrias que modificar la línia comando que conecta a el recurso comparitdo.

Hay que tomar en consideración que SO tiene la PC que haces la veces de Servidor y la que hace la veces de cliente, para modificar el bat de acuerdo a la situación.

Saludes.
__________________
Leer es Saber, REEL.
Mi Blog
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:16.