La possibilità di "patchare" un programma, alla fine, consiste semplicemente nell'aggiornare alcuni file con le versioni più recenti.
InstallShield permette di farlo, ma la gestione è abbastanza complessa e forse è troppo elaborata.
Forse ti basterebbe fornire agli utenti solo il file eseguibile per ridurre il materiale da scaricare...a meno che non sia proprio quel file ad essere grande 6 MB!
In tal caso, l'unica soluzione è quella di "spaccare" il tuo file eseguibile distribuendo in maniera logica il codice in più librerie (DLL) o package, quindi separando le varie interfacce in più moduli scaricabili separatamente.
E' un approccio che, comunque, applicato ad un'applicazione di grandi dimensioni, richiede una riprogettazione.
Siccome so che Delphi tende a generare eseguibili abbastanza compatti...siamo sicuri che tutti quei MB non siano solo immagini grafiche?? In tal caso, potresti ottimizzare quelle risorse usando meno bitmap (BMP) e più JPEG, o riducendo la quantità di grafica.
Una cosa che è possibile fare sin da subito è compilare un'applicativo utilizzando i runtime package. I componenti che hai utilizzato fanno parte di package per i quali è disponibile anche il codice sorgente. Se compili senza i runtime package, il codice sorgente ti viene incluso nell'eseguibile, aumentandone le dimensioni, ma rendendolo funzionante anche senza il bisogno di librerie esterne... mentre compilandolo con i runtime package, puoi rendere più snella la tua applicazione facendo in modo che si colleghi dinamicamente alle librerie (package) di Delphi che contengono il codice compilato dei componenti (hanno estensione BPL).
E' ovvio che dovrai distribuire, in quest'ultimo caso, anche i package assieme all'applicazione ma una volta scaricati ti basterà aggiornare e distribuire solamente l'applicazione.
Ciao!![]()