Josh-
Tack så mycket för att du tog dig tid att svara. Dina instruktioner hjälpte mycket och ligger mycket nära det jag har hittat på egen hand.
Intressant nog fann jag att den kan bantas lite mer.
För de i min situation som
- Vill inte att deras användare ska behöva installera ODAC eller Oracle-klienten i full storlek
- Bror inte om återanvändbarheten av den specifika klientinstallationen
- Behöver en "clickOnce"-kompatibel lösning
Jag hittade ett sätt att göra det.
a. Ladda ner "Oracle Instant Client 11.1.0.6 - Basic Lite".b. packa upp till valfri mapp och kopiera följande filer till ditt Visual Studio-projektrot:
- oci.dll
- ociw32.dll
- orannzsbb11.dll
- oraocci11.dll
- oraociicus11.dll
-
msvcr71.dll (inte nödvändigt, bör medfölja de flesta Windows-versioner)
(de första fem är det minsta som behövs för Oracle Instant Client, den sista är Microsofts vanliga körtid som de använder.)
c. Ladda ner ODAC 11 XCopy (den nuvarande versionen är 11.1.0.6) och packa upp.
-
OraOps11w.dll - i mappen odp.net20, går i ditt projektrot.
(denna fil är vad Oracle.DataAccess.dll pratar med och använder för att arbeta med Instant Client-filerna).
d. För kompatibilitet med ClickOnce-distribution, välj dessa filer i ditt projekt och se till att de är "Content" och "Copy Local" i ditt projekt. Manifestet kommer sedan att distribuera dem korrekt.
Resultat... . nyttolasten som läggs till i ditt projekt är 30mb, vilket är lite sugigt, men mycket bättre än 100+ eller 400+, stöder västerländska karaktärer, men det är inte så bra
- det kräver ingen sökväg,
- kräver inga registerposter,
- är isolerad i driftsättningen och täcker inte andra Oracle Client-installationer,
- fungerar kommer alla DB:er tillbaka till och med 9.2.