+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 6 su 6

INNO SETUP download file senza installazione

  1. #1
    hw.master non è in linea Novello
    Ciao a tutti,
    sono nuovo del forum ed ho trovato molto interessante quanto detto su inno setup che uso da un pò anche io.
    Ho un problema che non riesco a risolvere. Voglio fare un installer, per coerenza come interfaccia con quanto già precedentemente installato che voglio usare sempre inno setup, che scarichi dei file dal web con estensione di terze parti InnoTools Downloader della Sherlock Software per inno setup.
    T fin qui tutto bene.
    Vorrei che però non si installasse nulla, solo fare i download dei file in cartelle specifiche (che sono quelle create dalla prima installazione che installa l'applicativo) e null'altro; arrivare alla fine del setup, saltando installazione e cliccare su fine e quindi uscire. Creare solo un programmino con la stessa interfaccia usata per l'instllazione che esegua solo il controllo ed il download dei file.
    Spero di essere stato chiaro e che possiate darmi una dritta.
    Grazie!!!!
    Hw.master

  2. #2
    L'avatar di spikexx84
    spikexx84 non è in linea Scribacchino
    Il codice.... Postate sempre il codice quando fate le richieste, comunque se ho ben capito cosa stai chiedendo:

    Nella sezione setup ci sono due istruzioni che comunicano al setup che non deve creare cartelle ne creare i file di Unistall e sono:

    [SETUP]
    CreateAppDir=no
    Uninstallable=no
    
    Fatto questo non c'è nessun problema, (io in genere le uso quando devo far le prove con codice puro, proprio perchè non modificano minimamente il sistema).
    ℹ️ Leggi di più su spikexx84 ...

  3. #3
    hw.master non è in linea Novello
    Grazie spikexx84
    non pensavo fosse così semplice

    Quote Originariamente inviato da spikexx84 Visualizza il messaggio
    [SETUP]
    CreateAppDir=no
    Uninstallable=no
    
    Ti posto il codice, io pensavo fosse necesario simulare in qualche modo l'azione di uscita dall'installer e forse disegnare una pagina custom per iniziare il dowload da mettere dopo la pagina di benvenuto o qualche altro artificio ...

    var
    inputpage:TInputQueryWizardPage;
    NomeCognome, Indirizzo, Cap, Citta, Stato, Email: TNewEdit;
    LabelNomeCognome, LabelIndirizzo, LabelCap, LabelCitta, LabelStato, LabelEmail: TNewStaticText;
    Button: TNewButton;

    //Procedura per invio dati al server
    procedure ButtonOnClick(Sender: TObject);
    var response:string;
    var datinviati:string;
    var
    NomeCognome, Indirizzo, Cap, Citta, Stato, Email: TNewEdit;
    begin
    NomeCognome := TNewEdit(inputpage.FindComponent('NomeCognome'));
    Indirizzo := TNewEdit(inputpage.FindComponent('Indirizzo'));
    Cap := TNewEdit(inputpage.FindComponent('Cap'));
    Citta := TNewEdit(inputpage.FindComponent('Citta'));
    Stato := TNewEdit(inputpage.FindComponent('Stato'));
    Email := TNewEdit(inputpage.FindComponent('Email'));

    if NomeCognome.Text = '' then begin
    MsgBox('Bisogna inserire il Nome e Cognome.', mbError, MB_OK);
    end else begin
    if (Email.Text = '') OR (Pos('@', Email.Text)=0) then begin
    MsgBox('Bisogna inserire un''indirizzo E-mail e deve essere valido.', mbError, MB_OK);
    end else begin
    //inserisco nella stringa valori fissi al posto dei valori nulli
    if Indirizzo.Text = '' then Indirizzo.Text := '-';
    if Cap.Text = '' then Cap.Text := '-';
    if Citta.Text = '' then Citta.Text := '-';
    if Stato.Text = '' then Stato.Text := '-';
    //
    datinviati := NomeCognome.Text + '#@#' + Indirizzo.Text + '#@#' + Cap.Text + '#@#' + Citta.Text + '#@#' + Stato.Text + '#@#' + Email.Text;
    if itd_postpage('http://www.sito.com/reg.php', datinviati, response) then begin
    MsgBox(response, mbInformation, MB_OK);
    SaveStringToFile(ExpandConstant('{pf}\App\register data.txt'), Email.Text, False);
    SaveStringToFile(ExpandConstant('{pf}\App\userdata .txt'), datinviati, False);
    WizardForm.NextButton.OnClick(WizardForm.NextButto n);
    end else begin
    MsgBox( expandconstant('{cm:ErrorPost}'), mbError, MB_OK);

    end;
    end;
    end;
    end;
    //Fine procedura per invio dati al server

    procedure InitializeWizard();
    var
    i,j : integer;
    SL1, SL2, SL3: tStringList;
    s,responseupdate : string;
    begin
    itd_init;

    if (Not FileExists(ExpandConstant('{pf}\App\registerdata.t xt'))) then begin
    //Se l'utente non è registrato presento il form di registrazione
    inputpage:=CreateInputQueryPage(wpWelcome, expandconstant('{cm:labelRegistrati}'), expandconstant('{cm:labelFormRegistrati1}'),expand constant('{cm:labelFormRegistrati2}'));
    //label e input per nome e cognome
    LabelNomeCognome := TNewStaticText.Create(inputpage);
    LabelNomeCognome.Top := ScaleY(24);
    LabelNomeCognome.Caption := 'Nome e Cognome';
    LabelNomeCognome.AutoSize := True;
    LabelNomeCognome.Parent := inputpage.Surface;
    //
    NomeCognome := TNewEdit.Create(inputpage);
    NomeCognome.Name := 'NomeCognome';
    NomeCognome.Text := '';
    NomeCognome.Top := LabelNomeCognome.Top + LabelNomeCognome.Height;
    NomeCognome.Width := inputpage.SurfaceWidth;
    NomeCognome.Parent := inputpage.Surface;
    //
    //label e input per indirizzo
    LabelIndirizzo := TNewStaticText.Create(inputpage);
    LabelIndirizzo.Top := NomeCognome.Top + NomeCognome.Height;
    LabelIndirizzo.Caption := 'Indirizzo';
    LabelIndirizzo.AutoSize := True;
    LabelIndirizzo.Parent := inputpage.Surface;
    //
    Indirizzo := TNewEdit.Create(inputpage);
    Indirizzo.Name := 'Indirizzo';
    Indirizzo.Text := '';
    Indirizzo.Top := LabelIndirizzo.Top + LabelIndirizzo.Height;
    Indirizzo.Width := inputpage.SurfaceWidth;
    Indirizzo.Parent := inputpage.Surface;
    //
    //label e input per cap
    LabelCap := TNewStaticText.Create(inputpage);
    LabelCap.Top := Indirizzo.Top + Indirizzo.Height;
    LabelCap.Caption := 'Cap';
    LabelCap.AutoSize := True;
    LabelCap.Parent := inputpage.Surface;
    //
    Cap := TNewEdit.Create(inputpage);
    Cap.Name := 'Cap';
    Cap.Text := '';
    Cap.Top := LabelCap.Top + LabelCap.Height;
    Cap.Width := inputpage.SurfaceWidth div 2 - ScaleX(8);
    Cap.Parent := inputpage.Surface;
    //
    //label e input per citta
    LabelCitta := TNewStaticText.Create(inputpage);
    LabelCitta.Left := inputpage.SurfaceWidth div 2 + ScaleX(10);
    LabelCitta.Top := Indirizzo.Top + Indirizzo.Height;
    LabelCitta.Caption := 'Città';
    LabelCitta.AutoSize := True;
    LabelCitta.Parent := inputpage.Surface;
    //
    Citta := TNewEdit.Create(inputpage);
    Citta.Left := inputpage.SurfaceWidth - Cap.Width;
    Citta.Name := 'Citta';
    Citta.Text := '';
    Citta.Top := LabelCap.Top + LabelCap.Height;
    Citta.Width := Cap.Width;
    Citta.Parent := inputpage.Surface;
    //
    //label e input per stato
    LabelStato := TNewStaticText.Create(inputpage);
    LabelStato.Top := Cap.Top + Cap.Height;
    LabelStato.Caption := 'Stato:';
    LabelStato.AutoSize := True;
    LabelStato.Parent := inputpage.Surface;
    //
    Stato := TNewEdit.Create(inputpage);
    Stato.Name := 'Stato';
    Stato.Text := '';
    Stato.Top := LabelStato.Top + LabelStato.Height;
    Stato.Width := inputpage.SurfaceWidth;
    Stato.Parent := inputpage.Surface;
    //
    //label e input per email
    LabelEmail := TNewStaticText.Create(inputpage);
    LabelEmail.Top := Stato.Top + Stato.Height;
    LabelEmail.Caption := 'E-mail:*';
    LabelEmail.AutoSize := True;
    LabelEmail.Parent := inputpage.Surface;
    //
    Email := TNewEdit.Create(inputpage);
    Email.Name := 'Email';
    Email.Text := '';
    Email.Top := LabelEmail.Top + LabelEmail.Height;
    Email.Width := inputpage.SurfaceWidth;
    Email.Parent := inputpage.Surface;
    //
    Button := TNewButton.Create(inputpage);
    Button.Top := ScaleY(210);
    Button.Width := ScaleX(75);
    Button.Height := ScaleY(23);
    Button.Caption := expandconstant('{cm:labelRegistrati}');
    Button.OnClick := @ButtonOnClick;
    Button.Parent := inputpage.Surface;
    end else begin
    //
    end;

    //Try to download file list
    if (ITD_DownloadFile('http://www.www.sito.com/list.php',
    ExpandConstant('{pf}\App\list.php')) = ITDERR_SUCCESS) then begin
    SL1 := TStringList.Create;
    SL2 := TStringList.Create;
    SL3 := TStringList.Create;
    try
    //Carica il file
    SL1.LoadFromFile(ExpandConstant('{pf}\App\list.php '));
    //se il file non è vuoto
    if (SL1.Count > 0) then begin
    //Aggiungi ogni file per il download
    for i := 0 to (SL1.Count-1) do
    begin
    SL2.CommaText := SL1[i];
    for j := 0 to (SL2.Count - 1) do
    begin
    s := Trim(SL2.Strings[1]);
    ITD_AddFile(s,ExpandConstant('{pf}\App\'+SL2.Strin gs[0]+'\')+
    ExtractFileName(s));
    end;
    end;
    //Signal download to start after the "Ready to install" screen
    ITD_SetOption('UI_DetailedMode', '1');
    itd_downloadafter(wpReady);
    //itd_downloadafter(wpWelcome);
    //aggiorno la data nel file versione
    SaveStringToFile(ExpandConstant('{pf}\App\version. txt'), GetDateTimeString('dd/mm/yyyy', '/', #0), False);
    //
    //invio dati per tracciare che è stato fatto un aggiornamento
    SL3.LoadFromFile(ExpandConstant('{pf}\App\register data.txt'));
    itd_postpage('http://www.sito.com/download.php', SL3.Strings[0], responseupdate);
    //
    //se il file è vuoto avviso con messaggio
    end else begin
    MsgBox('Nessun aggiornamento disponibile!',mbCriticalError,MB_OK);
    end;
    //
    finally
    SL1.Free;
    SL2.Free;
    end;
    end else begin
    MsgBox('Errore! Impossibile scaricare il file per aggiornare i dati. Verificare la connessione ad Internet e quindi riprovare. Fare click su Annulla per uscire dalla procedura di aggiornamento.',mbCriticalError,MB_OK);
    Abort;
    end;
    end;
    //
    // Proceduara per disabilitare il pulsante Next sulla pagina di registrazione
    procedure CurPageChanged(CurPageID: Integer);
    begin
    if (Not FileExists(ExpandConstant('{pf}\App\registerdata.t xt'))) then begin
    if CurPageID = inputpage.id then begin
    WizardForm.NextButton.Enabled := False;
    end;
    end;

    end;
    //

    Grazie!!!
    Hw.Master

  4. #4
    hw.master non è in linea Novello
    scusami spikexx84,
    è sufficiente mettere

    Uninstallable=false
    o devo togliere anche altre impostazioni?
    Non mi è mpltp chiaro se si ingnorano tra di loro se messo Uninstallable=false

    AppName=UpdateIT
    AppVerName=1.0
    OutputBaseFilename=updateit
    Uninstallable=true
    CreateAppDir=false
    OutputDir=C:\installer
    VersionInfoVersion=1.0
    VersionInfoCompany=Updater
    VersionInfoDescription=update IT 01 / 2011
    VersionInfoCopyright=Updater IT
    AppCopyright=..
    PrivilegesRequired=none
    DisableProgramGroupPage=true
    UsePreviousGroup=false
    ShowLanguageDialog=no
    AppPublisher=Simes S.p.A.
    AppPublisherURL=http://www.sito.com/
    AppSupportURL=http://www.sito.com/
    AppUpdatesURL=http://www.sito.com/
    AppVersion=1.0
    AppID=UpdateIT10
    UninstallDisplayName=UpdateIT
    DisableReadyPage=false
    DisableReadyMemo=false

    Grazie!
    Hw.master

  5. #5
    L'avatar di spikexx84
    spikexx84 non è in linea Scribacchino
    Quando posti il codice usa gli apositi tag Code
    [CODE][/CODE]

    Non mi è comunque chiaro che impostazioni vuoi mettere/togliere
    ℹ️ Leggi di più su spikexx84 ...

  6. #6
    hw.master non è in linea Novello
    Grazie spikexx84e scusa il mio errore.

    mi chiedevo se era corretto o se c'è qualcosa di rindondante non riesco a capire se vanno comunque tolte
    le info su appid per esempio o altro ..

    AppName=UpdateIT
    AppVerName=1.0
    OutputBaseFilename=updateit
    Uninstallable=true
    CreateAppDir=false
    OutputDir=C:\installer
    VersionInfoVersion=1.0
    VersionInfoCompany=Updater
    VersionInfoDescription=update IT 01 / 2011
    VersionInfoCopyright=Updater IT
    AppCopyright=..
    PrivilegesRequired=none
    DisableProgramGroupPage=true
    UsePreviousGroup=false
    ShowLanguageDialog=no
    AppPublisher=Simes S.p.A.
    AppPublisherURL=http://www.sito.com/
    AppSupportURL=http://www.sito.com/
    AppUpdatesURL=http://www.sito.com/
    AppVersion=1.0
    AppID=UpdateIT10
    UninstallDisplayName=UpdateIT
    DisableReadyPage=false
    DisableReadyMemo=false
    
    Grazie!
    Hw.mastre

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Inno setup lanciare file con i parametri compilati nella fase di installazione
    Da djjunior nel forum Altri linguaggi e strumenti
    Risposte: 1
    Ultimo Post: 09-08-2019, 08:04
  2. [Inno Setup] Inserire nel setup uno script di installazione di altri software
    Da Albaz_mat nel forum Altri linguaggi e strumenti
    Risposte: 0
    Ultimo Post: 21-10-2011, 09:36
  3. Download file zip e decompressione con Inno Setup
    Da hw.master nel forum Altri linguaggi e strumenti
    Risposte: 2
    Ultimo Post: 05-04-2011, 15:29
  4. [Inno Setup]Sintassi per sovrascrivere file in Inno Setup
    Da frisella nel forum Altri linguaggi e strumenti
    Risposte: 16
    Ultimo Post: 23-03-2010, 10:15
  5. Articolo: [Inno Setup]Installazione OCX e DLL
    Da spikexx84 nel forum Altri linguaggi e strumenti
    Risposte: 0
    Ultimo Post: 13-05-2009, 11:36