Distribuzione
delle dipendenze di Crystal Reports con CyberInstaller Suite
Articolo
a cura di: Davide
Paganotto
Introduzione
Crystal Reports (CR)
della Business Object (ex Seagate) rappresenta uno dei più
completi (se non il più completo) prodotto professionale per
l'integrazione dei report nei proprio applicativi. Conosco tantissimi utenti che lo utilizzano
e, una buona parte di loro, hanno parecchi problemi nella distribuzioni
delle dipendenze (una valanga di DLL) con i proprio applicativi.
CyberInstaller Suite
(CIS)
supporta nativamente le versione 4.6 (distribuita con VS 6.0), 7, 8.5 e
9, mentre le versioni 10, la 11 e l'ultimissima 11 R2 (Release
2) non sono supportate di default. Per ovviare a questo problema la
soluzione è molto semplice: utilizzare i Merge Module che
Business Object mette a disposizione a tutti gli utenti; se cliccate su
questo link potrete
accedere alla pagina ufficiale dove potete scaricare la versione MSM più
adatta alla vostra versione di Crystal Reports.
Business Object fornisce unicamente file MSM, file che
attualmente solo gli installer più costosi come:
- WISE for
Windows 5.x
- WISE for
Windows 4.2
- InstallShield 9
DevStudio 9
- InstallShield 8
SP2 Developer Edition
supportano
pienamente.
La soluzione per
integrare questi file nel pacchetto che creerete con CIS sta nel
convertire tali file MSM in file MSI;
dalla versione 2006, infatti, CIS permette di inserire file MSI nel
progetto di installazione direttamente dal passo 9 "Pacchetti
MSI/MSM".
Qui si potrebbe fare
un po' di polemica, in quanto la stessa Business Object potrebbe
distribuire, anziché gli scomodi file MSM, direttamente i
file MSI (mi vien da pensare quasi ad un accordo di cartello tra le i
colossi che producono questi installer e la stessa Business Object...).
Microsoft Visual Studio Installer
Come possiamo noi convertire i files MSM in
MSI?
CIS fornisce
un'utility il cui file
eseguibile è "msm2msi.exe", in grado di convertire un file
MSM
in MSI, ma, ahimè, non riesce a convertire correttamente i
file
MSM dati dalla Business Object (chissà come mai? Sempre il
solito accordo?!...).
Per ovviare a questo
problema dobbiamo utilizzare un programma gratuito distribuito da
Microsoft: "Microsoft
Visual Studio Installer 1.1" (VIS 1.1) (qui
e
qui
potete trovare i file di installazione, da scaricare entrambi in una
stessa cartella e lanciare in sequenza per comporre l'installer
principale) che permetterà di convertire un file MSM in MSI.
Attenzione
però! Questo programma necessita come prerequisito
l'installazione di uno dei seguenti IDE:
Microsoft Visual
Studio 6.0, Professional and Enterprise edition
Microsoft Visual
Basic 6.0, Professional and Enterprise edition
Microsoft Visual
C++ 6.0, Professional and Enterprise edition
Microsoft Visual
InterDevT 6.0 Professional edition
Microsoft Visual
J++ 6.0 Professional edition
Microsoft Visual
FoxPro® 6.0 Professional edition
se non possedete uno
di questi programmi non potrete installarlo nel vostro sistema.
Ottenere i pacchetti MSI a
partire dai Merge Modules (.msm)
Una volta installato VIS 1.1, lanciatelo e seguite le semplici
istruzioni riportate passo passo qui di seguito:
Selezionate "Empty
Installer" e date un nome a vostro piacimento; cliccate "Apri" e
apparirà la seguente domanda:
scegliete "Only runs on the current OS...", cliccate su "Fine".
In Gestione Progetti, premete il tasto destro del mouse su "File",
quindi scegliete "Add" e poi "Merge Module(s)"; selezionate i vostri
file MSM:
La procedura è quasi finita, non vi resta che compilare il
tutto; per far ciò selezionate il nome del vostro progetto
(nell'esempio "MioMSI") in "Gestione progetti - ..." e premete con il
il tasto destro del mouse su "Genera":
Nel percorso scelto nella finestra iniziale "Nuovo progetto" (nel mio
esempio: "C:\Documents and Settings\sidavpag\Documenti\Visual Studio
Projects\MioMSI") è stata creata una nuova cartella "Output"
al cui interno troverete un ulteriore cartella "DISK_1" con dentro il
vostro bel file MSI.
Come potete notare
è stato un gioco da ragazzi! Ora non resta che integrare il
nostro bel file MSI
in CyberInstaller Studio.
Integrare il file .msi nel pacchetto
CyberInstaller
La procedura è ancora più semplice. Create il
vostro nuovo progetto, vi consiglio di utilizzare la "Procedura
guidata"; CIS analizzerà le dipendenze del vostro progetto e
quando troverà i file di CR (ad esempio crviewer.dll) vi
proporrà questa finestra di dialogo:
Selezionate "non aggiungere i componenti richiesti" e poi apportate
tutte le modifiche che desiderate al vostro progetto.
Una volta finito, bisogna dire a CIS come integrare il file .msi; in questa
versione esiste un apposito punto di menù che ci permette di
farlo in maniera molto semplice: basta andare al Passo 9 (Pacchetti
MSI/MSM) :
In "Lista pacchetti Microsoft Windows Installer...", cliccate sul
pulsante "Aggiungi" e selezionate il vostro file MSI (nel mio caso,
il file si chiama "CR_10_MSM.msi")
Se premete sul pulsante "Modifica" è possibile inserire una
descrizione più chiara che apparirà in fase di
installazione.
Dopodiché, occorre variare i parametri di lancio del vostro
file MSI; bisogna andare al Passo 8 (Applicazioni esterne) e cliccare
il pulsante "Modifica" in "Lista applicazioni esterne da eseguire dopo
l'installazione"; compilate i campi come nell'esempio seguente:
Controllate che le impostazioni e le opzioni nella vostra finestra
siano esattamente come qui sopra (nome del file a parte ovviamente).
Cliccate infinte sul pulsante "OK".
Nota: per
eseguire correttamente un file MSI nella "Riga di comando" basterebbe
l'opzione "/i"; io ho aggiunto anche l'opzione finale "/qb" per avere
una installazione con la minima interazione da parte dell'utente finale.
A questo punto non resta che compilare il progetto, premendo "F4";
apparirà la seguente domanda:
Cliccate su "Si": il vostro pacchetto di installazione verrà
creato in base alle impostazioni ai passi 17 "Media Output" e 18
"Eseguibile".
Conclusione
A questo punto, se avete seguito
tutti i passi correttamente, disporrete di un pacchetto di
installazione in grado di installare la vostra applicazione con il
supporto a CrystalReports
necessario, tutto senza ulteriori complicazioni e sopratutto con la
sicurezza che l'utente, una volta in possesso di questo pacchetto,
disporrà di tutto il necessario per utilizzare il vostro
software al pieno delle sue potenzialità.
Per informazioni e ulteriori dettagli su questo articolo conttattate il
supporto
tecnico.
|