CyberInstaller Studio - 13. Aggiunta di un componente

Cliccando sul pulsante "Aggiungi" del passo 6 - "Dettagli file" verrà aperta una finestra tramite la quale sarà possibile specificare tutti i parametri relativi al file che si desidera installare come componente del software da distribuire.

N.B.: Non bisogna commettere l'errore di confondere i componenti di un software con i file propri del software. Infatti mentre questi ultimi corrispondono ai file che compongono l'applicazione (quindi creati e/o messi insieme dallo sviluppatore del software), i componenti sono tutti i file di contorno necessari per il corretto funzionamento del software. Tali componenti (anche detti dipendenze) possono essere file di terze parti (per esempio ActiveX, OCX, librerie necessarie per le tecnologie software adottate nello sviluppo del software, ecc.), ma anche file di supporto, quali immagini (icone, bitmaps, ecc.), suoni, database, ecc. senza i quali il software da distribuire non funzionerebbe correttamente. Tutti questi file possono essere inseriti tramite il passo "Dati", che permette, tramite un'interfaccia coerente, di avere sottomano l'intero pacchetto e di visualizzare come apparirà il sistema destinazione al termine dell'installazione.
A tutti i file inseriti tramite il passo "Dati" (opppure quelli inseriti uno alla volta in questo passo), possono essere associati determinati parametri (come la loro registrazione, o la loro modalità di copia), senza i quali non potrebbero essere installati correttamente.

CyberInstaller Studio - 13.1 Parametri generali componente

Nome file componente [campo] - Es.: "C:\Windows\System32\COMCTL32.OCX"

Nome file sul disco locale (il sistema su cui si sta creando il pacchetto), completo di percorso. Se il file non esiste il componente non verrà aggiunto alla lista (e quindi nemmeno installato). Non appena ci si sposterà da questo campo ad un altro (dopo aver cliccato nel campo alla pressione del tasto TAB oppure cliccando in un altro campo o pulsante della finestra), CyberInstaller Studio rileverà automaticamente se il file inserito necessita registrazione o meno, modificando appropriatamente il valore della casella di controllo relativa.

... [pulsante]

Permette di aprire la finestra di dialogo Apri/Seleziona file tramite la quale selezionare il file da utilizzare come componente. Utilizzando tale finestra non sarà necessario digitare percorso e nome del file manualmente. E' consigliabile utilizzare questo pulsante per evitare di commettere errori di digitazione rischiando, in questo modo, di inserire un file che risulterebbe inesistente. L'uso della finestra Apri inoltre, permette di selezionare solo i tipi di file supportati e di impostare automaticamente la cartella destinazione.

Cartella in cui verrà installato il componente sul sistema destinazione [campo] - Es.: "|$SystemPath$|"

Identificativo cartella, sul sistema destinazione, in cui si desidera che venga copiato e installato il componente. E' altamente raccomandato utilizzare i patterns di sistema per riferirsi alla cartella; questo è l'unico modo, infatti, per essere certi che la cartella esista su qualsiasi sistema. Le destinazioni più comuni sono la cartella in cui verrà installato il software ("|$AppPath$|"), la cartella di Windows ("|$WinPath$|") e la cartella di sistema ("|$SystemPath$|"). Quando si inserisce un nome di file tramite il pulsante "Sfoglia" verrà impostato automaticamente il valore in questo campo, in base al percorso originario del file.

N.B.: Se come cartella destinazione si inserisce, sempre utilizzando un pattern, una cartella che potrebbe non essere presente sul sistema in cui si effettua l'installazione del pacchetto, CyberInstaller Studio penserà automaticamente ad aggiungere tale cartella nella sezione "Cartelle" (passo 5) senza che ci si debba preoccupare di farlo manualmente. Es.: si vuole che il componente venga installato nella cartella destinazione, in una sottocartella chiamata "Database", come cartella destinazione si inserirà il pattern "|$AppPath$|\Database". Si noterà che, dopo la pressione del pulsante "OK", la cartella "|$AppPath$|\Database" verrà immediatamente aggiunta al passo 5.

Cartelle speciali [pulsante]

Permette di aprire la finestra di dialogo "Cartelle speciali di sistema" tramite la quale selezionare una pattern che rappresenta una cartella presente sul sistema destinazione dell'utente. Tale cartella verrà utilizzata come destinazione per l'installazione del componente.

Destinazioni più comuni [lista]

Permette di selezionare le cartelle destinazioni più probabili in modo rapido e senza possibilità di errore. Selezionando un elemento da questa lista, verrà automaticamente inserito il pattern appropriato nel campo cartella destinazione.

CyberInstaller Studio - 13.3 Parametri di installazione

Registrazione [casella di controllo] - Default: -

Se spuntata, il componente verrà registrato in fase di installazione, immediatamente dopo la copia nella cartella destinazione. Subito dopo che si è inserito il nome del file componente (una volta che il campo avrà perso il fuoco), questo parametro verrà impostato automaticamente. La registrazione di un file è necessaria solo in particolari casi (OCX, e librerie ActiveX) ed è un'operazione che informa il sistema operativo della localizzazione del file. Senza registrazione, i file che la necessitano non possono essere utilizzati e, anche se l'installazione andasse a buon fine, il software non funzionerebbe correttamente. CyberInstaller Studio rileva automaticamente se un file necessita di registrazione, ma il metodo usato non è infallibile e in alcuni casi (comunque piuttosto remoti) è necessario correggere manualmente questo parametro.

Rimozione [casella di controllo] - Default: -

Consente la disinstallazione del componente selezionato.

Modalità copia [caselle opzioni] - Default: "Conferma automatica"

Indica la modalità in cui il file verrà copiato dal pacchetto al sistema destinazione e come deve comportarsi il motore di installazione in caso di file già presente sul sistema destinazione. Esistono 4 modalità di copia:

normale | la decisione di sovrascrittura di un eventuale file uguale già presente sul sistema destinazione verrà demandata all'utente (a cui verrà comunque proposta una scelta consigliata in base alla versione del file)
conferma automatica | la decisione di sovrascrittura di un eventuale file uguale già presente sul sistema destinazione verrà presa automaticamente in base alla versione del file
sovrascrivi sempre | un file uguale eventualmente già presente sul sistema destinazione verrà sovrascritto in qualsiasi caso
non sovrascrivere mai | un file uguale eventualmente già presente sul sistema destinazione non verrà mai sovrascritto

Di norma è bene impostare la modalità copia su "conferma automatica" per tutti i componenti. Se il parametro generale "Installazione silente" è impostato, la conferma sarà sempre presa automaticamente, anche in caso di modalità "normale". Per tutti i file che invece vanno inseriti nella cartella destinazione è bene inserire la modalità su "sovrascrivi sempre" per essere sicuri che eventuali file installati da versioni precedenti dello stesso software vengano aggiornati.
Queste decisioni vengono prese in automatico da CyberInstaller Studio quando si inseriscono i file del pacchetto (tramite il passo "Dati" - consigliato - oppure tramite questo stesso passo). Bisogna però fare particolare attenzione a eventuali file che vengono modificati e utilizzati dal software dell'utente, come ad esempio un database, in cui bisognerebbe impostare "non sovrascrivere mai". In caso contrario il file utente verrebbe sovrascritto con quello nuovo inserito nel pacchetto e tutti i dati inseriti dall'utente andrebbero persi (e questo CyberInstaller Studio non può saperlo).

N.B.: La ricerca di quali componenti abbia bisogno un software è spesso difficoltosa e complessa, per questo CyberInstaller Studio venga in aiuto allo sviluppatore con lo strumento Trova Dipendenze, che cerca di rilevare automaticamente tutti i componenti necessari al proprio software, partendo dal progetto sorgente (in Visual Basic, in Delphi, in qualsiasi linguaggio .Net) o direttamente dall'eseguibile. Purtroppo questo strumento (come altri software analoghi) non è spesso preciso al 100%, specialmente nel caso in cui l'analisi venga compiuta a partire dall'eseguibile, e potrebbe succedere che vengano segnalati come dipendenze file non strettamente necessari o che non vengano segnalati altri file invece necessari/utili. La complessità dell'operazione è aggravata dalla possibile errata interpretazione dei parametri da associare ai componenti, come la necessità di registrarli o meno. Tutto questo porta al fatto di dover testare il più possibile i propri pacchetti di installazione, sulle più diverse configurazioni software, e spesso è necessario procedere per tentativi prima di riuscire a produrre un pacchetto perfettamente funzionante in qualsiasi condizione.
Per ridurre al minimo il numero di fallimenti è possibile documentarsi sulle tecnologie utilizzate durante lo sviluppo del software da distribuire e sui file necessari alla sua corretta installazione. Ogni programmatore dovrebbe, infatti, essere perfettamente al corrente di cosa viene incluso durante la programmazione dell'applicazione nel proprio ambiente di sviluppo, e in base alla documentazione del produttore della tecnologia utilizzata (o dei componenti di terze parti utilizzati) inserire nel pacchetto di installazione i file necessari.

Lingua utente [llista] - Default: "(qualsisi)"

Indica la lingua dell'utente per cui il componente verrà installato. Il componente verrà installato solo se la lingua selezionata dall'utente per avvire l'installazione e quella specificata in questo campo coincidono. Es. se l'utente sceglie di avviare l'installazione in Inglese e il componente ha "Lingua utente" = Italiano, tale componente non verrà installato. I valori consentiti sono "Italiano", "Inglese" e "qualsiasi".

Side-by-Side [casella di controllo] - Default: -

Se abilitata installa in modalità Side-by-Side (solo per Windows 98SE o superiori), una particolare tecnica che permette di aggirare il problema della presenza contemporanea di differenti versioni della stessa libreria/ActiveX, senza sovrascrivere il file già eventualmente presente nel sistema destinazione, ma installandolo affianco all'eseguibile che lo utilizza e senza registrarlo (è necessario indicare l'eseguibile associato al componente da installare in modalità side-by-side). In questo modo eventuali applicazioni già installate che utilizzano il vecchio componente continueranno a funzionare regolarmente (in caso di installazione normale, invece, utilizzerebbero il nuovo componente che potrebbe, nella peggiore delle ipotesi, rompere la compatibilità col passato, andando ad inficiare il corretto funzionamento dell'applicaizone ne faccia uso).

Eseguibile associato [campo lista] - Default: se il parametro Side-by-Side è attivato, il default è il primo eseguibile inserito nel pacchetto

indica il nome del file eseguibile associato al componente installato in modalità side-by-side. Se il componente non viene installato in modalità side-by-side, questo campo sarà disabilitato.

CyberInstaller Studio - 13.4. Esempi

Es. 1: si desidera installare il componente "COMCTL32.OCX", posizionato sul nostro sistema in "C:\Windows\System32". Tale file va registrato (CyberInstaller Studio lo capirà da solo) e vogliamo che sia CyberInstaller a decidere se sovrascrivere o meno il componente nel caso ne sia presente una versione obsoleta sul sistema destinazione.

I valori assunti dai parametri saranno:

Nome file componente = "C:\Windows\System32\COMCTL32.OCX"

Cartella in cui verrà installato il componente = "|$SystemPath$|"

Registrazione = Sì

Modalità copia = conferma automatica

Es. 2: si desidera installare il componente "Anagrafica.mdb", posizionato sul nostro sistema in "F:\Documenti\Software\Gestionale". Tale file non va registrato (CyberInstaller Studio lo capirà da solo) e non contiene informazioni sulla versione. Inoltre si desidera venga installato nella sottocartella "Database" della cartella destinazione selezionata dall'utente e poichè tale file potrebbe già essere stato installato da una precedente versione, si desidera evitare che venga sovrascritto erroneamente per non fare perdere i dati inseriti dall'utente:

I valori assunti dai parametri saranno:

Nome file componente = "F:\Documenti\Software\Gestionale\Anagrafica.mdb"

Cartella in cui verrà installato il componente = "|$AppPath$|\Database"

Registrazione = No

Conferma automatica = non sovrascrivere mai

Es. 3: si desidera installare il componente "Leggimi.txt", posizionato sul nostro sistema in "F:\Documenti\Software\Gestionale". Tale file non va registrato (CyberInstaller Studio lo capirà da solo) e non contiene informazioni sulla versione. Inoltre si desidera venga installato nella sottocartella "Documentazione" della cartella destinazione selezionata dall'utente e ci si vuole assicurare che vada a sovrascrivere un eventuale file già presente, in modo da aggiornarlo sempre all'ultima versione:

I valori assunti dai parametri saranno:

Nome file componente = "F:\Documenti\Software\Gestionale\Anagrafica.mdb"

Cartella in cui verrà installato il componente = "|$AppPath$|\Database"

Registrazione = No

Conferma automatica = sovrascrittura forzata

Vedi anche...

Passo 6: Dettagli file

Passo 4: Dati applicazione

Passo 5: Cartelle

Patterns di sistema

Finestra di dialogo Apri/Salva

Trova Dipendenze

CyberInstaller - Script di installazione