Josh-
Grazie mille per aver dedicato del tempo per rispondere. Le tue istruzioni sono state di grande aiuto e sono molto vicine a ciò che ho trovato da solo.
È interessante notare che ho scoperto che può essere snellito un po' di più.
Per quelli nella mia situazione che
- Non voglio che i loro utenti debbano installare ODAC o il client Oracle full-size
- Non preoccuparti della riutilizzabilità della particolare installazione del client
- Serve una soluzione compatibile con "clickOnce"
Ho trovato un modo per farlo.
un. Scarica "Oracle Instant Client 11.1.0.6 - Basic Lite".b. decomprimere in qualsiasi cartella e copiare i file seguenti nella radice del progetto di Visual Studio:
- oci.dll
- ociw32.dll
- orannzsbb11.dll
- oraocci11.dll
- oraociicus11.dll
-
msvcr71.dll (non necessario, dovrebbe essere fornito con la maggior parte delle versioni di Windows)
(i primi cinque sono il minimo necessario per Oracle Instant Client, l'ultimo è il microsoft common runtime che usano.)
c. Scarica ODAC 11 XCopy (la versione corrente è 11.1.0.6) e decomprimi.
-
OraOps11w.dll - nella cartella odp.net20, va nella radice del tuo progetto.
(questo file è ciò con cui Oracle.DataAccess.dll comunica e utilizza per lavorare con i file Instant Client).
d. Per compatibilità con la distribuzione ClickOnce, seleziona questi file nel tuo progetto e assicurati che siano "Contenuto" e "Copia locale" nel tuo progetto. Il manifest li distribuirà quindi correttamente.
Risultato.. . il carico utile aggiunto al tuo progetto è di 30 MB, che fa schifo, ma molto meglio di 100+ o 400+, supporta i personaggi occidentali, ma in questo modo
- non richiede alcun percorso,
- non richiede voci di registro,
- è isolato nella distribuzione e non utilizza altre installazioni Oracle Client,
- funziona tutti i DB fino alla versione 9.2.