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

Creando un instalador

Estas en el tema de Creando un instalador en el foro de .NET en Foros del Web. Buenas, estoy creando un instalador para mi aplicación empleando visual studio 2008 y necesito hacer lo siguiente: Pedirle los datos al usuario (nombre, DNI,...) y ...
  #1 (permalink)  
Antiguo 11/08/2009, 01:02
 
Fecha de Ingreso: julio-2009
Mensajes: 82
Antigüedad: 14 años, 9 meses
Puntos: 0
Creando un instalador

Buenas,

estoy creando un instalador para mi aplicación empleando visual studio 2008 y necesito hacer lo siguiente:

Pedirle los datos al usuario (nombre, DNI,...) y luego mandarlos a un servidor durante la instalación. ¿Cómo puedo hacer esto?

Muchas gracias
  #2 (permalink)  
Antiguo 11/08/2009, 05:12
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
Respuesta: Creando un instalador

Puedes crear un assembly en tu proyecto que se encargue de recibir esos parametros y manipularlos como desees, dentro del setup proyect, puedes incluir una pantalla con textboxes y tambien incluir el assembly que enviará la información.

Una vez que se haya completado el setup, le dices que llame al assembly y le pasas los parametros necesarios, si el assembly falla, todo el setup hara rollback, asi que asegurate de avisar al usuario que necesita una conexión a internet activa o maneja los errores/excepciones que se puedan presentar de modo que Main termine de manera normal.
  #3 (permalink)  
Antiguo 11/08/2009, 14:00
 
Fecha de Ingreso: julio-2009
Mensajes: 82
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Creando un instalador

Gracias pedro_cesar por la ayuda.

He visto que se pueden insertar cuadros de diálogos con cuadros de texto en el proyecto de instalación, pero como hago para extraer los datos de dichos cuadros de texto desde un ensamblado?

Me imagino que con ensamblado te refieres a un archivo .cs

Muchas gracias
  #4 (permalink)  
Antiguo 11/08/2009, 17:57
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
Respuesta: Creando un instalador

Sobre "assembly"
"assembly" es cualquier archivo final que generes con VS (.dll, .exe, etc).

Sobre el instalador
En el "User Interface Editor" haz click sobre la ventana que tiene los textboxes y ve a las propiedades de la ventana.

En las propiedades encontrarás las distintas propiedades de cada textbox. El que termina en Property (que en el caso de VS 2010 para el TextBox1 seria: Edit1Property) es el nombre de la variable que contiene lo que haya en ese textbox cuando el usuario presione next.

Al final, cuando vayas a llamar al assembly que tengas (que debiera ser un .exe para este caso) le pasarías Edit1Property como parametro y asi el main del exe recibiría el valor de ese textbox.
  #5 (permalink)  
Antiguo 17/08/2009, 00:55
 
Fecha de Ingreso: julio-2009
Mensajes: 82
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Creando un instalador

Buenas,

he creado el .exe (envioDatos), el cual he añadido al setup como acción personalizada, en el que al pasarle los datos al Main, se envían mediante sockets a otra aplicación que será la encargada de manejarlos, pero durante la instalación me da el siguiente error:

Error 1001: No se pudo encontrar el archivo "C:\...\envioDatos.InstallState"

¿Qué quiere decir?

Por cierto, como comprobar antes de iniciar la instalación que el usuario introdujo valores en los textbox?? Con otro .exe?

Muchas gracias
  #6 (permalink)  
Antiguo 18/08/2009, 06:13
 
Fecha de Ingreso: julio-2009
Mensajes: 82
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Creando un instalador

Ya no me da el error porque he puesto en las propiedades de la acción personalizada el atributo InstallerClass a false.

Ahora se ejecuta la acción personalizada, pero no recibe los datos. Lo que hago es pasárselos a Arguments (propiedades de la acción personalizada) de la siguiente manera:

Edit1.Value,Edit2.Value

pero no los recoge. alguna sugerencia?

Muchas gracias
  #7 (permalink)  
Antiguo 18/08/2009, 13:15
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
Respuesta: Creando un instalador

Lo que le tienes que pasar como argumentos a tu aplicación es el nombre del property del Edit (en vez de Edit1.Value, sería EDITA1). EDITA1 es el nombre por defecto de la propiedad que necesitas...

Asegúrate de no ponerle el mismo nombre a EditxProperty de 2 Edits aunque estén en pantallas distintas (dentro del mismo proyecto).

P.S. que bueno que viste lo de InstallerClass a tiempo, por que eso ya me había dado bastantes dolores de cabeza... xD

También puedes ver este link: http://msdn.microsoft.com/en-us/libr...zb(VS.71).aspx En donde esta toda la documentación MSDN del proyecto de setup.
  #8 (permalink)  
Antiguo 19/08/2009, 01:05
 
Fecha de Ingreso: julio-2009
Mensajes: 82
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Creando un instalador

Gracias pedro_cesar. Lo que hay que hacer es poner en Arguments el nombre de Edit1Property y Edit2Property de la siguiente manera:

[LOCAL] [DNI]

¿Cómo comprobar si el usuario dispone de conexión a internet?

¿Se puede comprobar si los textbox no están vacíos antes de llamar a la acción personalizada?

Dentro de la acción personalizada, ¿se puede hacer un rollback si dichos textbox están vacíos?

Última edición por lmalvarez; 19/08/2009 a las 02:01
  #9 (permalink)  
Antiguo 19/08/2009, 05:05
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
Respuesta: Creando un instalador

ME PARECE que todas esas validaciones las tienes que hacer en tu aplicación y no a nivel del Setup.

Dentro de tu aplicacion puedes lanzar una excepción si los textbox no tienen la información necesaria, cuando tu aplicación no termina de forma normal el Setup hace el rollback de manera automática.
  #10 (permalink)  
Antiguo 27/08/2009, 03:34
 
Fecha de Ingreso: julio-2009
Mensajes: 82
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Creando un instalador

Buenas, ahora quiero saber si un programa (Postgre) se encuentra instalado en el PC, y si no lo está pues que ejecute el instalador de Postgre ¿Cómo lo hago?

Muchas gracias
  #11 (permalink)  
Antiguo 27/08/2009, 12:59
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
Respuesta: Creando un instalador

Me parece que Postgres instala un servicio.... podrías validar si el servicio está o no... y si no está, corres el instalador que puede venir insertado en el mismo .msi de tu aplicación.

Asegúrate de que sea legal que redistribuyas el paquete de instalación de Postgres con tu aplicación.
  #12 (permalink)  
Antiguo 28/08/2009, 00:57
 
Fecha de Ingreso: julio-2009
Mensajes: 82
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Creando un instalador

Gracias pedro_cesar, si pudierais decirme el código para controlar si un servicio está instalado o no, os estaría muy agradecido. Ah, y ¿cómo hago para ejecutar el instalador que ya está en el .msi?

Última edición por lmalvarez; 28/08/2009 a las 01:20
  #13 (permalink)  
Antiguo 31/08/2009, 01:13
 
Fecha de Ingreso: julio-2009
Mensajes: 82
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Creando un instalador

Como alternativa, intenté buscar el directorio "postgre" en todas las unidades del equipo, si el directorio está no hay problema, pero si no, al cabo de un tiempo de estar buscando me salta una excepción, seguramente porque según he leído en otros sitios, la longitud de la ruta no puede superar los 256 caracteres...

A ver si me podéis decir como se comprueba si un servicio está instalado en el equipo.

Muchas gracias
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:27.