in
La comunità italiana dedicata a Sviluppatori e Architetti IT delle piattaforme Windows

progetto setup e condizioni

Ultimo messaggio ricevuto il 13-02-2007 16.57 da devspy. 3 risposta(e).
Pagina 1 di 1 (4 elemento/i)
Ordina messaggi: Precedente Successivo
  • 13-02-2007 1.20

    • palomo2
    • Utente Top 100
    • Registrato il 15-11-2005
    • Napoli
    • Messaggi 9

    progetto setup e condizioni

    Salve ragazzi, sto sviluppando un progetto setup per la mia applicazione. Ho segiuto questa guida. e il mio setup funziona perfettamente però ora ho due problemi:

    1. Vorrei installare un collegamento sul desktop a meno di un checkbox spuntato dall'utente. A tal proposito ho incluso una finestra di dialogo di controllo e utilizzo la condizione "checkboxa1=1" se è spuntata l'opzione che consente di creare il suddetto collegamento. Ora, nella finestra "File System > Desktop Utente" ho inserito un nuovo collegamento ma tra le proprietà non vi è una casella condition :( questa proprietà la posso impostare solo alla cartella superiore "Desktop utente" e ho anche provato a farlo ma mi installa cmq il collegamento anche se la condizione non è verificata :( Praticamente lo stesso problema di carletto.

    2.
    Un altro problema che ho è quello di impostare delle chiavi di registro per permettere di far comparire la voce "Apri con <il mio programma>" quando si selezionano file di tipo pdf. Io devo modificare la voce di registro "AcroExch.Document.7\shell\" (già presente se è installato acrobat reader) aggiungendo "Apri in <mioprog>\Command" a meno di una condizione "checkboxa2=1". Dunque ho assegnato questa condizione alle cartelle "Apri in <mioprog>" e "Command" e anche al valore di registro mentre alle altre cartelle, sino alla radice superiore, la proprietà DeleteAtUninstall su False ma, se si verifica questa condizione, riesco ad installare tutto correttamente ma, alla disinstallazione del prog, viene cancellata tutta la radice "AcroExch.Document.7" mentre vorrei che si cancellasse solamente la parte del percorso "Apri in <mioprog>\Command". Come faccio ?

    Ricapitolazione proprietà delle cartelle del percorso da inserire nel registro:
    AcroExch.Document.7 (AlwaysCreate=false, Condition=, DeleteAtUninstall=false,Transitive=false)
    shell (AlwaysCreate=false, Condition=, DeleteAtUninstall=false,Transitive=false)
    Apri in <mio programma>
    (AlwaysCreate=false, Condition=CHECKBOXA1=1, DeleteAtUninstall=true,Transitive=true)
    Command (AlwaysCreate=false, Condition=CHECKBOXA1=1, DeleteAtUninstall=true,Transitive=true)
    (Predefinito) (Condition=CHECKBOXA1=1, Transitive=true, Value=<valore chiave>)

    grazie mille....

    ____________(¯`·.¸¸.->| PaLoMo2 |<-.¸¸.·´¯)____________
    • Log
  • 13-02-2007 10.28 In risposta a

    Re: progetto setup e condizioni

    Se non riesci a far funzionare a dovere i meccanismi di personalizzazione del progetto Setup (io purtroppo non li conosco), puoi provare ad inserire un'azione personalizzata in cui lanci una semplice applicazione Console che effettua le operazioni di cui hai bisogno.

    Il alternativa, puoi sperimentare la strada open-source dell'ottimo ed apprezzato progetto Inno Setup.

    Facci sapere quando trovi la soluzione...  Stick out tongue
    • Log
  • 13-02-2007 14.43 In risposta a

    • palomo2
    • Utente Top 100
    • Registrato il 15-11-2005
    • Napoli
    • Messaggi 9

    Re: progetto setup e condizioni

    Grazie mille per la risposta... Io sto cercando di comprendere al meglio il funzionamento del progetto di distribuzione interno al vs2005 per non affidarmi ad altri programmi di terze parti. Infatti prima utilizzavo install shield ma è un peccato non utilizzare un qualcosa che già ho.

    Per il punto due ho risolto studiando bene la proprietà DeleteAtUninstall.
    In pratica questa prorietà, assegnata ad una chiave, cancella la chiave stessa e le altre + in alto alla radice se sono vuote anche se hanno tale proprietà impostata su false.
    Ad es., nel mio caso, ho il percorso "AcroExch.Document.7\shell\Apri in <mioprog>\Command\<valore predefinito>". Se imposto la proprietà DeleteAtUninstall alla chiave "Apri in <mioprog>", alla disinstallazione, il programma cancellerà la chiave "Apri in <mioprog>" e tutte le sue sottochiavi per poi verificare se la chiave "shell", nella radice superiore, ha dei valori assegnati o altre sottochiavi e se non ne ha, cancella anche quella, indipendentemente dalla proprietà DeleteAtUninstall eventualmente assegnata ad essa. Questo succede ricorsivamente per tutto il percorso a ritroso partendo dalla chiave "Apri in <mioprog>". Quindi, se acrobat è installato, dalla chiave shell in sù ci saranno sicuramente valori, altrimenti in fase di installazione verrà creato tutto il percorso e, in disinstallazione, cancellato.

    Ora non mi resta che risolvere il problema dell'icona sul desktop condizionata....

    ____________(¯`·.¸¸.->| PaLoMo2 |<-.¸¸.·´¯)____________
    • Log
  • 13-02-2007 16.57 In risposta a

    Re: progetto setup e condizioni

    Grazie, informazione molto utile. Wink
    • Log
Pagina 1 di 1 (4 elemento/i)
Prelevato da http://www.devspy.com/forums/p/4430/5328.aspx
DevSpy.com 6.0 © 2001-2008 - Alcuni Diritti Riservati
Salvo diversa indicazione, tutti i contenuti sono pubblicati sotto licenza "Creative Commons Attribution-Share Alike 3.0"