PDA

Ver la Versión Completa : instalar programa


anubis
21-06-2007, 20:04:49
He creado el programa, he usado el inno setup, y me lo instala bien, cuando lo ejecuto me funciona bien(he borrado el path de origen, pero cuando lo llevo a otro ordenador me da error al ejecutar.

El programa tiene bases de datos e imagenes, a la hora de compilar el programa con el delphi, le he cambiado 'a mano' la ruta para que coincida con el path de la instalacion (otra forma no se)...
estoy que me vuelvo loco la verdad, no puede ser tan dificil o si?

egostar
21-06-2007, 20:23:09
Me imagino, porque no das mas datos, que el problema es la ruta de la base de datos.

Si nos das mas detalles seguro se te podría ayudar mejor.

Salud OS.

karlaoax
21-06-2007, 21:04:06
Si has creado tu programa con Tablas usando BDE, recuerda que debes configurar tu Path para que apunte hacia el lugar donde se encuentra tu Tabla (Ya sea o no utilizando el alias).

Tambien, acuerdate de agregar en "Teares Administrativas" Tu DNS para que apunte a tu tabla.

Karla :cool:

anubis
21-06-2007, 21:04:20
La ruta creo que esta bien, proque, una vez instalado el programa, me funciona, y si renombro el directorio donde esta la base de datos me da error...
Es un programa simple que solo lleva bases de datos, porque veo que las imagenes las compila dentro del programa.

anubis
21-06-2007, 21:21:22
Perdonad mi ignorancia, cuando uso el database desktop para decirle la ruta del alias, me lo guarda en el delphi, claro asi es normal que no me encuetre nada.

Estoy mirando en los post pero no encuentro la forma, hay alguna manera de indicarle al programa en tiempo de diseño en que path esta el alias?, imagino que seria con una linea de codigo. Estoy usando solo tablas y datasource.

gracias

he probado con el session1.addstandardalias, pero me dice que no hay nombre para la sesion, le pongo uno y me dice que no es unique en ese contexto.

EStoy desesperado.....
para cambiar el alias y la ruta de un alias ya asignado como le hago. porque la sesion es default y tendria que cambiar todos los default.

echadme un cable...plis.

egostar
21-06-2007, 22:07:14
La ruta creo que esta bien, proque, una vez instalado el programa, me funciona, y si renombro el directorio donde esta la base de datos me da error...


Bueno, la lógica dice que como tu programa está apuntando a una ruta específica no puedes ni debes cambiar ese directorio.

Pero como todo esto es 'salvable', necesitas modificar tu programa para que a través de un archivo ini, txt, el registro de windows, etc, etc, pueda leer y tomar la nueva ruta de acceso en tiempo de ejecución y ya podrás cambiarla a tu gusto.

Salud OS.

anubis
22-06-2007, 05:23:52
Gracias, ya lo hice mas o menos como comentabas, lo he conseguido con esto, usando mi propio ordenador pero borrando y dejando el alias en el database desktop como estaba, es decir apuntando a la ruta inicial.


procedure tfentrada.cambiaalias;

var
AParams: TStringList;
Dir: string;
begin
if not Session.IsAlias('bases') then
begin
ShowMessage('Alias MyAlias does not exist');
Exit;
end;
AParams := TStringList.Create;
try
// get the current PATH parameter
//Session.GetAliasParams('bases',AParams);
Dir := 'c:\archivos de programa\hotel plaza palacio\bases';
// get the new PATH parameter
// if InputQuery('bases Alias Path','c:\' ,Dir) then

begin
// Update the alias parameters
AParams.Clear;
AParams.Add('PATH=' + Dir);
Session.ModifyAlias('bases',AParams);
Session.SaveConfigFile;
end;
finally
AParams.Free;
end;
end;


el problema es cuando lo llevo a otro ordenador, al ejecutar el programa me dice, problema al iniciar el motor borland de la base de datos.
y lo he puesto antes de iniciar o buscar cualquier base de datos en el programa.

anubis
22-06-2007, 09:35:32
Ya di con la solucion, se necsita instalar el bde en el otro ordenador para que funcione, ahora queda a ver como se hace con el inno setup para instalar la aplicacion y la instalacion del bdeinst.dll

gracias de nuevo

anubis
22-06-2007, 11:27:11
ya esta gracias, rebuscando en la ayuda del inno ya pude instalar el bde y asignar un alias.