Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda con Inno Setup (https://www.clubdelphi.com/foros/showthread.php?t=18919)

davezf 26-02-2005 21:20:49

Ayuda con Inno Setup
 
Hola,

Necesitos hacer una instalacion de un programa en la que se guarden en el registro el numero de serie del disco duro y la fecha de instalacion...

Es la primera vez que utilizo el Inno Setup (o IsTool), alguien podria decirme donde puedo encontrar informacion sobre esto?


Gracias

Neftali [Germán.Estévez] 28-02-2005 09:30:24

Puedes revisar las páginas de FAQ's y el Knowledge Base en las páginas del propio Inno Setup. De todas formas, en lugar de programarlo desde un Script de Inno, lo más sencillo es que tú hagas un programita en Delphi que guarde en el registro la información que necesitas y lo ejecutes al realizar la instalación. Eso es algo sencillo y de lo que puedes encontrar ejemplos.

Por ejemplo, ésta url es de la página de Inno Setup y explica cómo se debe hacer para instalar el BDE desde tu SETUP. La forma es sencilla, se añaden a la instalación dos ficheros y durante la instalación se ejecuta uno de ellos (MiniReg.exe); Lo que debes hacer tú es lo mismo, pero simplemente que tu programita en lugar de ser éste (minireg.exe), será uno hecho por tí que grabe datos en el registro, pero casi siguiendo los mismos pasos que ahí se describen lo puedes hacer.

(EDITADO...) Después de enviar el mensaje, he pensado... "...si seguro que ésto ya lo ha hecho alguien..." y he buscado... Rápidamente me ha salido ésta página:

(para calcular nº de serie)
http://www13.brinkster.com/vincenzog...t.asp?idart=19

(para guardar cosas en el registo)
http://www13.brinkster.com/vincenzog...t.asp?idart=46

Es un Script de Inno para realizar lo que necesitas.

Ahora tienes las dos opciones, lo puedes hacer vía Script o utilizando un programita ;).

davezf 02-03-2005 17:18:37

Gracias Neftali. Con lo que me dices ya soluciono el problema.

Perdon por no responder antes, pero no he recibido notificacion de tu respuesta en mi email. Revisare el panel de control a ver que ha pasado.

Podrias indicarme una cosa mas: Para otra instalacion necesito saber el directorio en el que esta instalada una bases de datos (access). Se que se pueden crear mas ventanas para la instalacion con Inno Setup from designer, pero, sabes de algun manual para añadirles codigo? Como eventos de pulsacion de botones, abrir otras ventanas, ...

Gracias.

Neftali [Germán.Estévez] 02-03-2005 18:03:35

Cita:

Empezado por davezf
...Se que se pueden crear mas ventanas para la instalacion con Inno Setup from designer, pero, sabes de algun manual para añadirles codigo?

Si no hay nada en la pagina del Form Dessigner, no se ninguno más...:(

davezf 02-03-2005 18:19:47

Y para el codigo del Inno Setup (seccion [code])

davezf 06-03-2005 10:18:19

Hola.

Sabes como hacer que con el Inno Setup para que muestra otra ventana en la que pide la ubicacio de otro fichero (base de datos)?

He mirado en los links que me indicas y aparece algun ejemplo pero me da un error en la instruccion InputData (numero de argumentos incorrecto).

alt126 08-03-2005 09:37:53

Ahi te dejo un codigo de ejemplo...
 
Es para el inno setup...lo debes de copiar tal como esta y miras lo que hace. Simplemente te muestra una pantallita con el arbol de directorios del disco duro, para que el usuario seleccione el directorio donde esta la BD. Si necesitas algo mas....PIDELO!!

Adios,

Antonio


; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
[Setup]
AppName=prueba
AppVerName=prueba
DefaultDirName={pf}\prueba
DisableDirPage=yes
DefaultGroupName=p\rueba
DisableProgramGroupPage=yes
[Tasks]
; NOTE: The following entry contains English phrases ("Create a desktop icon" and "Additional icons"). You are free to translate them into another language if required.
Name: "desktopicon"; Description: "Crear un acceso en el escritorio"; GroupDescription: " "; Flags: unchecked
[Files]
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\Desinstalar"; Filename: "{uninstallexe}"

[code]
var
FolderTreeView1: TFolderTreeView;
Label1: TLabel;
procedure Cambio(Sender: TObject);
begin
Label1.Caption := FolderTreeView1.Directory;
end;
function ScriptDlgPages(CurPage: Integer; BackClicked: Boolean): Boolean;
var
Next, NextOK: Boolean;
CurSubPage: Integer;
begin
{ place subpages between 'Welcome'- and 'SelectDir' page }
if (not BackClicked and (CurPage = wpWelcome)) or (BackClicked and (CurPage = wpSelectDir)) then
begin
{ find startpage }
if not BackClicked then
CurSubPage := 0
else
CurSubPage := 1;
{ iterate through all subpages }
while (CurSubPage >= 0) and (CurSubPage <= 1) and not Terminated do
begin
ScriptDlgPageOpen();
ScriptDlgPageClearCustom();
{ insert subpage }
case CurSubPage of
0: // custompage 1
begin
ScriptDlgPageSetCaption('Instalación en Red');
ScriptDlgPageSetSubCaption1('Seleccione donde esta ubicada la base de datos');
ScriptDlgPageSetSubCaption2('');

{ Label1 }
Label1 := TLabel.Create(WizardForm.ScriptDlgPanel);
with Label1 do
begin
Parent := WizardForm.ScriptDlgPanel;
Left := 10;
Top := 10;
Width := 182;
Height := 13;
Caption := 'Selecciona un directorio y veras su ruta aqui!!!! :)';
end;

{ FolderTreeView1 }
FolderTreeView1 := TFolderTreeView.Create(WizardForm.ScriptDlgPanel);
with FolderTreeView1 do
begin
Parent := WizardForm.ScriptDlgPanel;
Left := 30;
Top := 30;
Width := 350;
Height := 180;
Cursor := crArrow;
TabOrder := 0;
OnChange := @Cambio;
end;
Next := ScriptDlgPageProcessCustom();
NextOK := True;
end;
1: // custompage n
begin
end;
end;
{ check sub-page navigation }
if Next then
begin
if NextOK then
CurSubPage := CurSubPage + 1;
end
else
CurSubPage := CurSubPage - 1;
end;
{ check main-page navigation }
if not BackClicked then
Result := Next
else
Result := not Next;
ScriptDlgPageClose(not Result);
end
{ return default }
else
Result := True;
end;
{ NextButtonClick }
function NextButtonClick(CurPage: Integer): Boolean;
begin
Result := ScriptDlgPages(CurPage, False);
end;
{ BackButtonClick }
function BackButtonClick(CurPage: Integer): Boolean;
begin
Result := ScriptDlgPages(CurPage, True);
end;

davezf 08-03-2005 12:41:45

Gracias alt126, me sirve de mucho.

Solo un pequeño detalle, se puede incluir en el arbol la red a la que esta conectado el equipo?

alt126 09-03-2005 10:51:42

Sin problema!!
 
En el arbol aparece todo...unidades de red, USB....TODO.

Adios,

Antonio

davezf 16-03-2005 20:16:35

Siento seguir siendo pesado con las preguntas...

Ante todo daros las gracias por la ayuda prestada.

He consiguido hacer la instalacion, pero si el usuario crea accesos directos:
- En Windows Millenium (en el equipo del cliente): Da un error de Stack Overflow

- En Windows XP no se ejecuta nada


Pueden ayudarme?

Nota: Para crear los accesos directos con el inno, lo he hecho usando el asistente.

davezf 16-03-2005 20:18:49

Se me olvidaba: El acceso directo para la desinstalacion del programa funciona bien.


La franja horaria es GMT +2. Ahora son las 10:10:11.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi