Развертывание ODP.NET без установки - PullRequest
4 голосов
/ 22 ноября 2011

Я хочу развернуть клиентское приложение, которое использует Oracle ODP.net, но я не хочу устанавливать ODP.net на каждую машину.Скорее, я хотел бы скопировать управляемый dll oracle.dataaccess.dll на каждую машину и иметь собственные dll, от которых он зависит, на общем диске.

Декомпилируя код oracle.dataaccess.dllЯ видел, что он вызывает метод, который получает местоположение родных библиотек из реестра.Таким образом, в дополнение к копированию oracle.dataaccess.dll на каждой машине мне нужно было бы добавить ключи реестра, которые указывали бы на собственные библиотеки DLL на общем диске.

Мой вопрос: предвидится ли возникшая проблема?из этой техники развертывания odp.net?

Ответы [ 3 ]

3 голосов
/ 17 августа 2012

Единственные файлы, которые вам нужны из последней версии клиента: Oracle.DataAccess.dll oci.dll oraociicus11.dll OraOps11w.dll

Просто убедитесь, что они скопированы в выходной каталог, и все будет работать. Ничего не нужно нигде регистрировать. Однако вам нужно будет сделать отдельные сборки x86 и x64 с библиотеками DLL соответствующей архитектуры, так как приложение Any CPU .NET будет работать в 32-битном режиме на 32-битной ОС и в 64-битном режиме на 64-битной ОС. 1003 *

1 голос
/ 10 декабря 2011

1) В настоящее время ODP.NET представляет собой смесь управляемых и неуправляемых библиотек DLL. Он также опирается на неуправляемые библиотеки DLL более низкого уровня от клиента Oracle - например, для работы в сети и т. Д.

2) Вам понадобятся все эти необходимые ODP.NET и клиентские библиотеки DLL на каждом компьютере, на котором вы развертываете.

3) Одним из возможных решений, упрощающих эту задачу, является поиск пакета развертывания "XCOPY". Смотрите страницу загрузки ODP.NET. Это меньшая установка и позволяет вам написать свой собственный установщик. Вы можете включить эти файлы XCOPY как часть вашей собственной установки.

4) Oracle будет проводить бета-тестирование полностью управляемого провайдера в 2012 году, что значительно улучшит эту ситуацию (а общий размер составит всего пару мегабайт).

Кристиан Шей

Oracle

0 голосов
/ 22 ноября 2011

Поскольку они неуправляемые, я предполагаю, что они будут в порядке на сетевом пути, хотя это должно быть достаточно просто для тестирования. Однако я бы посоветовал вместо того, чтобы изменять параметр реестра, лучше изменить конфигурационный параметр DllPath, как описано здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...