LINUX.ORG.RU

Wine и Jet4.0/Net4

 ,


0

1

Пытаюсь запустить программу, написанную на C++/CLI и местами на C# под Wine. Создал новый префикс, установил туда с помощью winetricks .NET Framework 4, DAO, Jet 4.0, VC++ Runtime и т.д. Программа падает в момент обращения к базе данных (mdb). Работа с базой через Jet 4.0, в коде использовал OleDbConnection.

Вывод в консоли:

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'System.EnterpriseServices.Wrapper.dll' or one of its dependencies. Exception from HRESULT: 0x80070002 ---> System.IO.FileNotFoundException: Exception from HRESULT: 0x80070002

--- End of inner exception stack trace --- at System.EnterpriseServices.ContextUtil.get_IsInTransaction() at System.Data.Common.ADP.IsSysTxEqualSysEsTransaction() at System.Data.Common.ADP.NeedManualEnlistment() at System.Data.OleDb.OleDbConnection.Open()

Все что связано с System.EnterpriseServices.*.dll с винды скопировал в каталог с программой, но это не решило проблему. (Хотя с msvcr100d.dll данный способ помог).

Wine-1.4.1 Gentoo 3.6.11

P.S. Mono не предлагать. За кривой заголовок прошу прощения :)



Последнее исправление: ntkrnlmp (всего исправлений: 1)

адо работа с mdb

брал wine ниже 1.2 ставил dcom98 потом mdac25 потом mdac28 потом jet - все работало отлично

anonymous
()

System.EnterpriseServices.Wrapper.dll

Google сразу выдает набор таких же глюков у виндоводов. Так что проблема, скорее всего, не вайно-специфична
МС же считает эту либу как часть второго фреймворка

Kuzz ★★★
()
Ответ на: комментарий от Kuzz

За все «винды» утверждать не буду, но на декстопе, ноуте, на кафедральных компьютерах (где есть .NET Framework 4) похожего не наблюдалось.

ntkrnlmp
() автор топика
Ответ на: комментарий от Kuzz

По идее ставит, т.к. у меня на компе при поиске было несколько одинаковых файлов, но в разных каталогах с названиями .NET Framework 2 и .NET Framework 4. (Точно не помню как называются, но суть та же).

ls ~/.wine/win32/drive_c/windows/assembly/GAC_32/System.EnterpriseServices

4.0.0.0__b03f5f7f11d50a3a

То есть вы предлагаете попробовать поставить .NET Framework 2, я вас правильно понимаю?

ntkrnlmp
() автор топика
Ответ на: комментарий от ntkrnlmp

Стоит попробовать.

Тем более, Ole-серверы требуют регистрации в реестре, которая от простого копирования не возникнет.

Kuzz ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.