Appunti sulla distribuzione di applicazioni Delphi e database Access
Chi di voi almeno una volta non si è imbattuto nel vespaio di Install Shield Express? Chi di voi almeno una volta non ha passato una notte insonne cercando di creare una distribuzione funzionante della propria applicazione che utilizza database Access?
Io sì. Dopo aver rimediato una pessima figura dal cliente, ho passato una notte nel tentare di capire perché l'applicazione non funzionava. Poi ho scoperto che:
1) Per accedere ad un database Access dal BDE occorre che nel PC del cliente sia installato DAO
2) Install shield Beta presente sul CD di Delphi 4 C/S non supporta la distribuzione di DAO per motivi legali
3) Occorre quindi installare preventivamente il DAO
4) Bisogna anche verificare la versione di database Access utilizzata, se Access 95 o Access 97. Occorre infatti impostare la DLL32 del driver di accesso nel DBE. In ogni caso Delphi 4 per ora NON SUPPORTA Access 2000..
5) Tra le righe di Final filer ho trovato l'aggiornamento dei files.ini di Install Shield per il supporto del DAO ma NON FUNZIONA. Perlomeno a me continua a generare un General SQL error (???).. Chiaro sintomo di installazione errata del DAO..
Conclusione: troppo casino, in dieci minuti ho convertito il database Access in Paradox con buona pace del cliente che aspetta da un mese :-(
Poi ho saputo che c'è la possibilità di utilizzare database Access evitando di portarsi dietro l'elefantiaco Borland Database Engine. Qualche buon samaritano ha pensato di realizzare alcuni componenti che si appoggiano ai Microsoft Data Access Components, interfaccia universale (per Microsoft <g>) per l'accesso a vari formati di database. Ho provato ad esempio ODBC98 ma lo sviluppo di questo componente è fermo al 1998. Adonis della CyberMagic invece è un set di componenti veramente ben fatto: ottimo supporto, aggiornamenti costanti, compatibilità con i componenti InfoPower, buona documentazione e distribuzione "royalty free".
Finalmente è possibile distribuire applicazioni su un solo dischetto: l'eseguibile e il file MDB. Condizione necessaria: il PC del cliente deve avere supporto ADO. E' possibile scaricare l'ultima versione presso la Microsoft. Si tratta però di un file da 6,5MB.. Addio distribuzione su un solo dischetto :-(
Non mi sono scoraggiato ed ho passato l'ennesima notte insonne a fare alcuni esperimenti. Ho scoperto delle cose interessanti.
Per far funzionare una applicazione Delphi4/Adonis su database Access97/2000 non sempre è necessario installare preventivamente i MS data access components (ADO). Dipende dalla configurazione del sistema sul quale si installa l'applicazione.
Alcune versioni di Windows includono ADO. Questa la situazione:
- MS Windows 95B : non supportato
- MS Windows 98 : ADO ver. 1.5
- MS Windows 98 SE : ADO ver. 2.1
- MS Windows NT4 SP1 : non supportato
- MS Windows NT4 SP3 : non supportato
- MS Windows NT4 SP4 : non supportato*
- MS Windows NT4 SP5 : non supportato
- MS Windows 2000 B3 : ADO ver. 2.5
* La procedura di installazione del SP4 suggerisce l'installazione dell'Internet Explorer 4.01 SP1 che contiene la versione 1.5 di ADO. Suggerisce inoltre l'installazione dei MS data access components 2.0.
Sappiamo che Adonis necessita di ADO versione 2.0 o superiore, quindi se dobbiamo installare la nostra applicazione su PC con Windows 95, Windows 98 prima versione oppure Windows NT4 occorre preventivamente installare gli MS.D.A.C. (ADO).
Mentre con Windows 98 SE e Windows 2000 non è necessario fare alcunché: just plug & play ;-)
Access97 dovrebbe contenere la versione 1.5 di ADO ma non ne sono sicuro. Qualcuno sa qualcosa di più?
Access2000 contiene la versione 2.1 di ADO.
Se notate link o informazioni errate mandatemi un'e-mail e provvedrò immediatamente.