PDA

Ver la Versión Completa : Eliminar Alias


Colgueit
09-05-2006, 11:46:52
Buenas,

He creado una aplicación que se instala con installshield y el problema esta en que si desinstalo la aplicación el Alias no se elimina del BDE y si por ejemplo voy a instalar otra vez la aplicación y cambio la ruta de instalación el path del alias no se modifica y se queda con el path antiguo, dandome logicamente error.

Por tanto tengo dos opciones:

1)Que al instalar modifique la ruta del alias ya creado (no tengo ni idea de como hacerlo)

2)Que al desisntalar la aplicación se borre el Alias del BDE (ya que cuando desistalo el desistalador que hago con installshield no lo hace), y asi cuando vuelva a instalar se instale correctamente.
Creo que esta sería la opción mejor y a la vez más sencilla. Pero no se como hacer ésto.

Gracias por anticipado.

waltergomez
09-05-2006, 16:08:23
Tenes una tercera opcion: Generar el Alias en el codigo
Mira la ayuda de Delphi "Working with BDE aliases".
Sugerencia: Cuando puedas deja el DBE.

Saludos,

Colgueit
09-05-2006, 16:30:43
Con respecto a la sugerencia, ya me he dado cuenta que por ejemplo usar Interbase es mejor, pero para este programa ya es tarde para cambiar, en el próximo lo tendre en cuenta.

Y con respecto a la opcion que dices de crear el alias en el codigo ya la probé y no me sirve , ya que si el alias esta creado con anterioridad no me cambia al path nuevo, sigue con el path antiguo, por eso lo q necesito es alguna forma de modificar el path del alias o eliminar el alias que lo haga al realizar la instalacion con istallshield.

Gracias de todas formas, seguire investigando :rolleyes:

noshy
09-05-2006, 16:42:57
Desde el codigo, verifica en los REgistros de Windows si ya esta creado el Alias y si esta cambia el valor de la cadena, lo puedes hacer eliminado la cadena y volviendola a crear.

A mi me sirvio. Si encuentro el Codigo te lo mando.

Espero te sirva.

Colgueit
09-05-2006, 16:51:45
Sí, mas o menos eso es lo que necesito, lo que no se es modificar el registro para cambiar la ruta del alias. Vale si encuentras el código me lo mandas, muchas gracias :) .

Chauu

noshy
09-05-2006, 17:14:17
Primero te fijas si existe el valor y si existe los puedes borrar o renombrar con estas funciones:

function DeleteValue(const Name: String): Boolean; //Borra Valor
function DeleteKey(const Key: String): Boolean; // Borra Key
procedure RenameValue(const OldName, NewName: String); //Cambia Valor

Espero que te sirva.

Colgueit
09-05-2006, 17:58:37
Antetodo Gracias.

Ya lo he conseguido y lo he hecho así:
1)Si el alias esta creado y el path es correcto pues no hago nada.
2)Si el alias no esta creado, o esta creado pero el path es incorrecto hago esto:

if Session.IsAlias('NombreAlias') then
Session.DeleteAlias('NombreAlias');
Session.AddStandardAlias('NombreAlias', 'Path', 'PARADOX');
Session.SaveConfigFile;


Gracias, Saludos.