Newsgroup: it.comp.lang.delphi
Titolo: Inserire file nell'eseguibile a runtime

Un ciao a tutti,
da tempo sto cercanco un modo per realizzare un piccolo programmino di
installazione personalizzato per le mie applicazioni, ora mi scontro con
questo problema, inserire i file nell'installer a runtime, mi spiego:
Fino ad oggi usavo un componente che mi permetteva di includere i file
nell'eseguibile finale e, con una riga di codice estrarre i suddetti file
dove volevo il che, però, mi costringe a ricompilare il progetto tutte le
volte perdendo, di volta in volta, quello vecchio. Ho pensato quindi di
inserire i file che poi andranno estratti a runtime nell'eseguibile
dell'installer, ma non ho trovato un modo per farlo, qualcuno di voi ha idea
se è possibile fare una cosa del genere?
Spero in un vostro aiuto, la mia ultima risorsa, in ogni caso grazie anche
solo di aver letto il post :)
.G

se è possibile fare una cosa del genere?
Ma scusa, perche' non segui la via + semplice ? generare un
archivio compresso ?
--
Andrea Laforgia - walkietalkie(at)
libero.it
#exclude <windows.h>

 archivio compresso ?
Per 2 motivi fondamentali:
1) Voglio generare un solo file "autoestraente" che si basi sulle opzioni
dei pacchetti installati sul client, mi spiego meglio va:
Ho realizzato un'applicazione "commerciale" distribuita in varie aziende
ospedaliere, non tutti hanno comprato gli stessi moduli (l'applicazione è
divisa in vari moduli) ma quando distribuisco gli aggiornamenti
(modulistica, variazioni di procedure etc.) vorrei distribuire un solo
aggiornamento per tutti, senza dover pensare a chi ha installato cosa e
personalizzare l'archivo. Per comodità e difficoltà a spiegare WinZip a
"medici - utonti" :) di 60 anni preferirei distribuire solo un exe, doppio
click ed è fatta, leggo le impostazioni dal registro ed estraggo solo i file
che mi interessano.
2) A differenza dei "medici - utonti" di prima, c'è ne sono altri più
smaliziati che mi aprono il file zip e si estraggono (e quindi usano) moduli
che non dovrebbero avere (aka piratati).
Ho provato con i programmi di installazione standard, ma è un casino, troppa
roba da leggere dal registro e troppe "variabili" da prendere in
considerazione per l'installazione. Lo ammetto, mi ci perdo dentro gli
script dei vari Inno, Ghost Installer, etc.
La soluzione che ho adottato finora è funzionale e comoda ma, come detto in
precedenza, devo sempre ricompilare tutto e vorrei evitarlo...
Grazie ancora
.G

 script dei vari Inno, Ghost Installer, etc.
non ti so aiutare. ma considera che InnoSetup (che crea un solo
eseguibile autoestraente) è open souce e scritto in Delphi, potresti
dargli un'occhiata al codice..
....o magari usare il programma direttamente! ;-)
Ciao,
Alan Solo

script dei vari Inno, Ghost Installer, etc.
Mah... io ho usato spesso InstallShield e + semplice di cosi' si
muore...


 #exclude <windows.h>
#exclude <microsoft.h> :)

> >script dei vari Inno, Ghost Installer, etc.
Se lo vuoi fare strano......
Riportato dall'help winrar
-----------------------
Di seguito viene mostrato, come esempio, un set d’istruzioni completo
per un modulo auto-estraente che ha come titolo del pannello di
dialogo iniziale “Calcolatore 3.05”, inserisce un determinato testo
nel riquadro di spiegazione, imposta la cartella di destinazione come
“Programmi\Calcolatore”, abilita la sovrasscrittura dei files se già
esistenti ed esegue il programma setup.exe dopo che l’estrazione ha
terminato con esito positivo:
Title=Calcolatore 3.05
Tex
{
Questo è un programma dimostrativo, completamente
funzionante, del programma Calcolatore.
Se vorrai continuare ad usarlo dopo un periodo di prova
di 40 giorni, dovrai registralo.
Per ulteriori informazioni leggi il contenuto del file “Registra.Txt”.
}
Path=Calcolatore
Overwrite=1
Setup=setup.exe
WinRAR vers. 2.80 - © 2000 - Eugene Roshal
--------------------------------------------------------------
Prima cripti i moduli con una tua procedura (esempio stupido 
somma 1 a ogni byte). Oppure, volendo dare il winrar in 
DemoVersion ai tuoi clienti l'operazione di Criptatura-
Decriptatura potrebbe eseguirla lui. (non so se è legale)
e sufficiente mettere dentro al modulo autoesraente l'installazione
del winrar e i moduli ulteriormente compressi con pasword.
Poi il tuo programma di setup (anche lui nel file compresso) li deve
decomprimere lanciando winrar x -pMiapasswordLungaPiùDi20Caratteri
.....
Poi fai un SFX che decomprimere tutto in directory temporanea
o predefinita a tua scelta (diversa di directory di destinazione
finale) 
Lancio automatico del programma setup (vedi script) che deve
essere fatto da te e copiare i moduli dalla dir temporanea a quella
corretta decriptandoli
Poi vai a leggere i tuoi moduli e li installi avendo cura di
decriptarli.
Esegui gli eventuali aggiornamenti di archivi o altro ed
infine lanci in sequenza tutti gli altri installer che ti servono 
per installare altre cose tipo BDE o interbase.
In teoria se non vuoi utilizzare uno dei soliti pacchetti potrebbe
anche funzionare.
Zilo...@libero.it