Proyecto Setup + .bat

Buenas:

A ver si alguien puede echarme una mano porque ya estoy desesperado.

Tengo un equipo con Windows 7 64 bits, y un proyecto de escritorio en Visual Studio 2008. Tengo que hacer el instalador del proyecto, de manera que instale todo lo necesario de forma transparente para el usuario.

Bueno, lo primero es que el proyecto Setup está hecho, pero cuando le asigno los requisitos previos (windows installer, framework, Crystal Reports y Sql 2005) no funciona de ninguna forma. Sé que no funciona por el SQL 2005, así que he probado a hacer el proyecto en Visual Studio 2010, pero para variar, ya no está integrado el Crystal, así que nada.

Mi última opción ha sido generar un .bat que instale de forma desatendida el SQL 2008, pasarlo a .exe y agregarlo para que se ejecute en la instalación del proyecto Setup. Mi problema es que, probando el .bat e incluso el .exe, funciona perfectamente, pero en cuanto lo integro en el Setup se peta. Cuando no pierde las rutas porque se ejecutan el rutas temporales, me da un error de parametro INSTALL incorrecto. Y ya no se salir de aqui.

¿Alguien puede echarme una mano u orientarme para hacer el setup compelto?.

Gracias!!!
Rutas relativas y descomprimir en temporal o descarga el instalador de lo que requieras no te serviria?

Con sql 2005/2008 a que te refieres? SQL server? no es algo demasiado tocho para una simple app?.
blackgem escribió:Rutas relativas y descomprimir en temporal o descarga el instalador de lo que requieras no te serviria?

Con sql 2005/2008 a que te refieres? SQL server? no es algo demasiado tocho para una simple app?.


Si, es SQL Server, en éste caso yo intento instalar el 2008, concretamente el de 64 bits de éste enlace:

http://www.microsoft.com/es-es/download ... x?id=25052

Entre otras cosas porque el que dice que vale tanto para 32 como para 64, directamente me dice que mi sistema operativo es de 64 y no le instala...

En cuanto a las rutas, es que no sé como hacerlo. Tengo el .bat que instala el sql junto al fichero del instalador de sql. Lo que hace el .bat es ejecutar el instalador de sql con unos parámetros para que lo instale sin necesidad de que el usuario haga nada.

El problema es que si ejecuto el bat, obtengo la ruta desde la que se ejecuta dicho bat y así puedo llamar al instalador de sql, pero si lo integro en el proyecto, cuando obtengo la ruta, no me da la ruta en la que tengo el .bat (o .exe), si no que me da una ruta temporal en la que se debe descomprimir el .exe para instalar y claro, en esa ruta no tengo mi instalador de sql.

Y ese es mi problema, no puedo acceder al instalador de sql, ya que nunca sé de fijo en que ruta está, y si uso los parámetros para obtener la ruta, me sale con rutas temporales en las que realmente no están mis archivos.
Hola,

Así de primeras te propondría leer del registro de Windows la carpera de instalación del SQL si es lo que necesitas. Desde un bat es una ardua tarea pero seguro que se puede (cuidado con las carpetas de más de 12 caracteres y las Ñs y acentos)

Personalmente, para cosas sencillas, utilizo este lenguaje de programación de script para administradores:
http://www.autoitscript.com/site/autoit/
Es muy sencillo, permite leer registro, usuarios de windows, credenciales, copiar ficheros, etc, y compila .exe completos sin necesidad de framework aparte. Lo he utilizado más de una vez para instalación de librerias y OCX y va bastante bien.

Espero haberte ayudado, suerte!
Puedes hacer un instalador con NSIS que permite hacer todas las tareas de copiar ficheros, leer registro, etc. Es gratuito pero un poco complicado de utilizar al principio. Con InstantShield es más fácil hacer un instalador pero es un producto bastante caro.
4 respuestas