Josh-
Thank you very much for taking the time to answer. Your instructions helped a whole lot, and are very close to what I have found on my own.
Interestingly enough, I found it can be slimmed a little more.
For those in my situation who
- Do not want their users to have to install ODAC or the full-size Oracle Client
- Do not care about the re-usability of the particular client installtion
- Need a "clickOnce" compatible solution
I found a way to do that.
a. Download the "Oracle Instant Client 11.1.0.6 - Basic Lite".
b. unzip to any folder and copy the following files to your Visual Studio project root:
- oci.dll
- ociw32.dll
- orannzsbb11.dll
- oraocci11.dll
- oraociicus11.dll
msvcr71.dll (not necessary, should be supplied with most Windows versions)
(the first five are the minimum needed for the Oracle Instant Client, the last is the microsoft common runtime they use.)
c. Download the ODAC 11 XCopy (the current version is 11.1.0.6) and unzip.
OraOps11w.dll - in the odp.net20 folder, goes in your project root.
(this file is what the Oracle.DataAccess.dll talks to and uses to work with the Instant Client files).
d. For compatibility with ClickOnce deployment, select these files in your project and make sure they are "Content" and "Copy Local" in your project. The manifest will then deploy them properly.
Result... the payload added to your project is 30mb, which kinda sucks, but much better than 100+ or 400+, supports western characters, but kicks butt in that
- it requires no path,
- requires no registry entries,
- is isolated in deployment and does not hose other Oracle Client installations,
- works will all DBs back through 9.2.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…