+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [Inno Setup]Finestre di dialogo

  1. #1
    L'avatar di amanu86
    amanu86 non è in linea Scolaretto
    Post
    375

    [Inno Setup]Finestre di dialogo

    Ciao a tutti.
    Sto cercando di utilizzare Inno Setup per generare un pacchetto di upgrade del mio software.
    Vorrei, se possibile, sapere come fare a visualizzare una finestra durante l'installazione che mi permetta di chiedere all'utente di selezionare al cartella dove è stato installato il software, magari proponendone già una io di default.

    ---------------------------------------------------------------------------
    www.festadeigiovani.com

  2. #2
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,397
    Blogs
    5
    Inno Setup e' un prodotto che non viene trattato in questo forum (che e' per i problemi di programmazione di VB6).

    Sposto nel forum adatto.
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  3. #3
    L'avatar di spikexx84
    spikexx84 non è in linea Scribacchino
    Luogo
    Darfo Boario Terme (BS)
    Post
    1,164
    Ciao

    Quello che tu chiedi si può fare, io ad esempio nel mio setup lo faccio in caso di installazione lato server per decidere dove installare il db e lato client chiedo dove sono i dati, ma richiede una conoscenza di Inno Setup un pochino più avanzata perchè il metodo migliore per farlo è aggiungere una pagina al setup utilizzando questa funzione

    CreateInputDirPage

    Quindi leggere la path, microscopico esempio:

    codice:
    [Setup]
    AppName=My Program
    AppVerName=My Program 1.5
    AppPublisher=My Company, Inc.
    AppPublisherURL=http://www.example.com/
    AppSupportURL=http://www.example.com/
    AppUpdatesURL=http://www.example.com/
    DefaultDirName={pf}\My Program
    DefaultGroupName=My Program
    OutputBaseFilename=setup
    Compression=lzma
    SolidCompression=yes
    
    [Files]
    Source: "C:\Programmi\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{code:LeggiPathDati}\"; Flags: ignoreversion
    Source: "C:\Programmi\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion
    
    [code]
    Var
    
    PageDir: TInputDirWizardPage;
    b_GiaCreata: Boolean;
    s_PathDati: String;
    
    
    function NextButtonClick(CurPageID: Integer): Boolean;
    
      Begin
    
        Result:= True;
    
        //Se siamo alla pagina di scelta dir
        If (CurPageID = wpSelectDir) And Not(b_GiaCreata) then
    
          Begin
          
            //Imposto il valore che imoedisce una creazione continua
            b_GiaCreata:= True;
    
            //Creo la nuova pagina di lettura dir
            PageDir := CreateInputDirPage(wpSelectComponents,'Testo1', 'Testo2', 'Testo3', False, 'New Folder');
    
            // Aggiungo la textbox in cui và inserita la cartella
            PageDir.Add('Seleziona path dei dati.');
    
            // Imposto il valore iniziale
            PageDir.Values[0] := ExpandConstant('{commonappdata}')
    
          End
          
        //Se siamo nella pagina scelta dir creata da noi
        if PageFromID(CurPageId) = PageDir then
    
          Begin
            //Leggo la pathdati
            s_PathDati := PageDir.Values[0]
          End;
    
       End;
    
    Function LeggiPathDati(Param: String): String;
      Begin
        //Restitusico la pathdati
        Result:= s_PathDati
      End;
    Ovviamente si può fare meglio, ma questo sta alla tua voglia di "sbatterti", l'esempio sopra serve solo ad illustrare il funzionamento
    Se sei nuovo e vuoi aiuto il miglior modo che io ho trovato per ottenerlo è porre le domande in modo intelligente
    Se hai delle domande siamo qui per tentare di risponderti, se hai delle risposte siamo qui per ascoltarle
    Noi siamo una comunità, una bella comunità e funzioniamo sempre meglio se ognuno cerca di seguire al massimo il nostro regolamento

  4. #4
    L'avatar di amanu86
    amanu86 non è in linea Scolaretto
    Post
    375
    Grazie mille per l'aiuto era proprio quello di cui avevo bisogno
    ---------------------------------------------------------------------------
    www.festadeigiovani.com

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi