Ole error 800401f3 wine

Журнал «Системный администратор», читать, скачать, купить
Рубрика:

Острый угол / 
Острый угол

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Google+

Сергей Барановский

Лебедь, рак да щука: САМО-Софт, wine, Etersoft

История о том, как «лебедь, рак да щука везти с поклажей воз взялись», известна всем. Если рассмотреть эту басню с точки зрения механики удалось Якову Перельману в своей книге «Занимательная физика», то с точки зрения автоматизации работы турфирм ситуация очень похожа и можно назвать аналогичную троицу: «САМО-Софт», wine, Etersoft.

Общее положение турфирм на рынке автоматизации их деятельности было описано в майском номере [2], как и решение по запуску «САМО-Тур» под Linux. Дальше описываются произошедшие изменения после выхода статьи, а также рассматривается ещё один туристический продукт – «САМО-ТурАгент» и описывается способ его запуска под Linux.

«Жареный петух клюнул»

Результат от моей первой статьи превзошёл ожидания. Если вопросы вида «А твоя ли эта статья?» были ожидаемы, то другие вещи заставили меня задуматься. Например, оказалось, что тираж журнала велик, продукт более чем известен и интересен читателям, а территория распространения журнала широка.

Так, при личном общении главный разработчик фирмы «САМО» признался, что «ксерокс» статьи ему подарили коллеги сразу после выхода журнала в свет, когда он был в командировке в Украине.

Ошибка «Variant does not reference an automation object.» была исправлена уже в июньском выпуске «САМО-Тура», а вот сообщить нам об этом и что делать дальше «САМО» так и не смогли. Самое главное, что дело сдвинулось с «мёртвой точки» и начался диалог. Нами был передан на временное хранение в фирму «САМО» компьютер с установленным Linux для «экспериментов на месте», а так как наша фирма использует в своей деятельности ещё и другой продукт фирмы «САМО», о котором речь пойдёт в этой статье, то общение шло по двум направлениям. Так, программистом из «САМО» Игорем Калашниковым мы были направлены в фирму Etersoft [3], которая как раз специализируется на запуске различных приложений под Linux, а другой программист – Куракин Вячеслав исправил ряд ошибок в работе «САМО-ТурАгента». Всё это положительно сказалось на автоматизации нашей турфирмы, но, несмотря на это, оперативность, инициативность и качество работы с клиентами оставляют желать лучшего.

Etersoft

Если зайти на сайт компании [3], то в разделе «о фирме» можно узнать, что «компания «Этерсофт» была создана в конце 2003 года группой Linux-разработчиков для оказания услуг по разработке решений на базе операционной системы ALT Linux; одной из миссий является популяризация и внедрение свободных программ в любых областях, где применяется компьютерная техника».

Фирма выпускает много интересных решений по разумным ценам и бесплатных. Вот некоторые из них, что привлекли наше внимание: модифицированная и улучшенная версия wine, универсальный транслятор SQL-запросов из диалекта T-SQL в pgSQL (он позволяет использовать PostgreSQL в приложениях, разработанных для работы с MS SQL), UniOffice (позволяет использовать Open Office.org вместо MS Office, выполняя трансляцию COM-запросов к MS Office в вызовы Open Office.org).

Что интересно, фирма открыта к сотрудничеству и без труда предоставляет коммерческие версии своих продуктов для тестирования по «гарантийному письму» в их адрес, чем мы и воспользовались.

Общение с техподдержкой, как для клиентов, так и для «тестеров», происходит по электронной почте.

Договориться об иной форме сотрудничества с этой фирмой у нас, увы, не получилось, даже в ответ на наше предложение оплатить командировку для представителя Etersoft в наш офис.

Лебедь, рак да щука

Нельзя сказать, что «воз и ныне там», но ситуация очень похожа. Несмотря на столь радужные перспективы, открытые журналом в мае, «русский сервис» продолжает быть ненавязчивым. Как фирма «САМО» вырыла себе большую яму и не справляется с валом запросов от клиентов на фоне текучести кадров, так и фирма «Этерсофт» не успела достаточно вырасти, чтобы понять, насколько перспективным может быть рынок по автоматизации работы турфирм. При этом месяцы общения с обеими фирмами показали, что они отнюдь не заинтересованы в совместных проектах, хотя их координаты неоднократно пересылались друг другу и доступны на сайтах фирм.

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

В случае каких-либо проверок по используемому программному обеспечению турагентствам проще переплатить и купить понятный им Windows, чем связываться с отечественными разработчиками программного обеспечения. То есть вместо того, чтобы кормить свою армию программистов, мы кормим чужую.

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

Экспорт из «САМО-Тура»

При запуске «САМО-Тур» под Linux ранее [2] имелась проблема экспорта. На сегодня есть несколько решений. Первое из них сделано средствами «САМО-Тура», через xml-файл, второе – с использованием транслятора COM-объектов.

Xmlfile

Если в любом из выводимых списков или таблице выделить несколько строк, например, пробелом, то можно вызвать правой кнопкой мыши меню, где будет пункт «экспорт». Далее можно осуществить выгрузку выбранных данных в Excel или Open Office Calc в зависимости от того, как настроен ваш профиль.

Для того чтобы можно было сделать выгрузку в Open Office Calc под Linux, необходимо:

Установить под wine ещё один пакет OpenOffice (для Windows c поддержкой Java), например, последнюю версию 2.4.1-1. Поддержка Java для экспорта обязательна и в случае работы под Windows тоже нужна. Иначе при попытке экспорта будет выдана ошибка «Для выполнения данного задания OpenOffice.org необходимо установленное окружение Java(JRE). Установите JRE и перезапустите OpenOffice.org.». Использование двух пакетов OpenOffice (родной под Linux и второй под wine) можно отнести к издержкам данного способа и понадеяться, что когда-нибудь программа будет одна.

Переключить в профиле пользователя «Использовать пакет OpenOffice» (см. рис 1).

Рисунок 1. Переключение на OpenOffice в профиле пользователя

Рисунок 1. Переключение на OpenOffice в профиле пользователя

Под wine запустить редактор реестра (wine regedit), далее в нём перейти в следующий раздел HKEY_CLASSES_ROOTxmlfileshellopencommand и исправить значение по умолчанию на «»путь_к_openoffice» %1». Например:

«С:Program FilesOpenOffice.org 2.4programsoffice.exe» %1

В половине используемых на практике случаев этого хватает. Но другая половина экспорта остаётся так и недоделанной со стороны фирмы «САМО». Проблема экспорта у них существует не только под Linux. Если взять компьютер, где будет Windows, «САМО-Тур» и OpenOffice и не будет MSOffice (т.е. исключаем проблемы портирования под Linux), то в ряде мест экспорт всё равно не работает. Естественно, все эти проблемы наследуются при запуске под wine. Так, если нажать на кнопку со значком Excel, выскакивает ошибка «OLE error 800401F3» (см. рис. 2).

Рисунок 2. Ошибка «OLE error 800401F3» при осуществлении операции экспорта

Рисунок 2. Ошибка «OLE error 800401F3» при осуществлении операции экспорта

А в ряде мест так и не исправлена ошибка «Variant does not reference an automation object.» Очень напоминает случай: «Обработать напильником до придания нужной формы».

Позиция фирмы «САМО» понятна, они не видят смысла тратить время на переписывание нечасто используемых форм экспорта, когда нет времени и во всю идёт разработка «САМО2», а также появилась возможность вывода форм через «FastReport» [5] и «QuickReport».

FastReport

Хочется отметить, что «FastReport» [5] – это интересный проект, заслуживающий отдельного внимания. Он удобен тем, что без программирования позволяет делать вывод всевозможных форм и отчётов, вставляя в них различную информацию, выдаваемую программами. Несколько слов о настройке wine на работу с «FastReport» будет сказано в разделе «САМО-ТурАгент». Всё упомянутое дальше можно смело использовать при работе с «САМО-Туром» и тем самым увеличить число мест в программе, откуда можно делать вывод информации.

Uni Office

Вторым из решений может быть использование транслятора COM-объектов [4]. Для этого следует скачать с сайта [4] дистрибутив unioffice.msi и установить его командой:

$ wine msiexec /i /путь/unioffice.msi

По факту установка данного пакета не сильно повлияла на экспорт. Основные необходимые функции экспорта продолжают не работать. Плюс в том, что этот продукт бесплатный и может быть полезен кому-либо ещё. Также на сайте можно найти ссылки на похожие проекты, позволяющие программам вроде «1C» успешно работать с OpenOffice.

Другие решения

Существует достаточно много решений по запуску бухгалтерских программ «1С» под Linux. Один из способов – использование различных библиотек вместе с wine (например dcom98). Cкорее всего, этим опытом можно воспользоваться и для продуктов «САМО». По крайней мере, форумы изобилуют различной информацией, на переработку и проверку которой требуется время. Также не следует забывать и про другие существующие эмуляторы вроде CrossOver Office. В любом случае решение будет найдено.

Экспорт в почтовую систему

Кроме экспорта различных таблиц, связь «САМО-Тура» с внешним миром происходит и через электронную почту. Сотрудники туроператорских офисов регулярно отправляют письма по электронной почте как своим партнёрам с просьбой забронировать ту или иную услугу, так и агентствам в виде писем-подтверждений.

По мере увеличения объёмов продаж создание новых писем и нахождение нужного адреса занимает много времени, поэтому требуется автоматизация этого процесса. Время сокращается за счёт использования различных шаблонов писем и экспорта в почту. Путём одного-двух кликов менеджеры получают готовое письмо, которое остаётся только прочитать и нажать кнопку «Отправить». В качестве почтового клиента нами используется Mozilla Thunderbird. Несмотря на то что этот клиент является кроссплатформенным, использование под Linux имеет свои тонкости. Родная Linux-версия не подойдёт, придётся ставить ещё одну под wine, ситуация схожа с OpenOffice. Далее, в Windows передачей данных от «САМО-Тура» к Thunderbird занимается библиотека mapi32.dll – её надо скопировать. Есть и 16-битная версия этой библиотеки – mapi.dll. Чтобы читатель на наступал на грабли, отмечу, что, используя Dependency Walker [6], можно выяснить зависимости и получить имена ещё шести библиотек: advapi32.dll, gdi32.dll, kernel32.dll,ntdll.dll, rpcrt4.dll, user32.dll, которые, казалось бы, тоже нужны, но на практике установка всех их под wine приводит к ошибкам и неработоспособности приложений. Изначально имеющиеся wine-аналоги в директории system32 работают лучше, поэтому мы ограничимся копированием файлов mapi32.dll и mapi.dll в директорию ~/.wine/drive_c/windows/system32. Скорее всего и 16-битная версия не нужна.

После копирования следует сообщить wine о библиотеке, для этого через меню «Приложения -> Wine -> Wine Configuration» нужно запустить настройщик (см. рис. 7), где следует выбрать вкладку «Библиотеки» и там в падающем меню «Новое замещение для библиотеки» найти по одной (или написать) названия библиотек, после нажать кнопку «Добавить» и увидеть, как они добавятся в окошечке ниже.

После необходимо в реестре wine (меню «Приложения -> Wine -> regedit») создать раздел HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows Messaging Subsystem и прописать в нём значение параметра «»MAPI»=»1″».

После этих операций у нас местами заработал экспорт в почту, например, если из меню «Справочники -> Заявки» выбрать заявку с гостиницей и нажать на правом меню «E-mail -> Бронирование -> Для партнёра гостиницы …», то там работает. А вот соседний пункт «E-mail -> Подтверждение/Отмена – …» выдаёт сообщение «Ошибка при отправке электронной почты». Исправить пока не удалось.

Более правильная позиция – это не работать с различными трансляторами запросов и конверторами, проводя рабочие часы на форумах, а чтобы разработчики программного обеспечения учитывали потребности рынка более гибко и сами создавали необходимые функции в своих продуктах. Никто, кроме самих разработчиков, не знает лучше свой собственный код, но по жизни получается, что мир держится на Кулибиных.

САМО-ТурАгент

Все туристические фирмы можно грубо поделить на две части по сферам их деятельности. Одни работают непосредственно с будущими туристами – они называются турагентствами, а другие не работают с туристами напрямую, но обеспечивают сами услуги – это туроператоры.

Если продукт САМО-Тур нужен операторам, то для автоматизации работы агентств существует другой продукт – это «САМО-ТурАгент».

Агентств больше, и наверно, более правильным было бы первую статью посвятить именно этой программе, но т.к. её запуск значительно проще запуска «САМО-Тура», то эта программа идёт вторым планом.

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

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

В установке «САМО-ТурАгента» нет ничего сложного. Для этого требуется дистрибутив программы, установленный Linux, например Fedora 8, а также пакет wine. Если вы прочитали первую часть статьи [2], то проделать эти шаги для вас не составит труда.

А вот с wine нас ожидают небольшие проблемы. Если его устанавливать через:

# yum install wine

то установится его последняя версия 1.0.1, а она, увы, не «дружит» с «САМО-ТурАгентом». Всё ставится, запускается, выдаётся окно запроса логина и пароля на вход, но после подключения не происходит и выдаётся сообщение об ошибке «Вход в систему невозможен» (см. рис. 3). Проблема решается установкой версии 0.9.58-1.fc8. Выяснилось это случайно, т.к. на момент начала работы с программой это была самая последняя версия wine и всё работало. После вышло обновление, с которым и возникли проблемы. Разработчики «САМО» подтвердили ситуацию, да и вообще на версию 1.0.1 много нареканий, поэтому пока единственное доступное решение сделать down-grade до версии 0.9.58. На других версиях проверка не производилась.

Рисунок 3. Сообщение об ошибке «Вход в систему невозможен»

Рисунок 3. Сообщение об ошибке «Вход в систему невозможен»

Найти старые версии в виде rpm можно, например, на http://rpmfind.net. Если у вас не получится найти, то пишите на форум журнала – поделюсь.

По-хорошему, следует откатывать все файлы, но у меня работает и для двух основных. Сначала удаляем файлы с ключом —nodeps:

# rpm -e wine wine-core –nodeps

а затем устанавливаем предыдущие:

# rpm -ihv wine-0.9.58-1.fc8.i386.rpm wine-core-0.9.58-1.fc8.i386.rpm —nodeps —force

Далее копируем дистрибутив «САМО-ТурАгента» на компьютер и запускаем из-под wine файл setup.exe, после чего начинается обычная установка (см. рис. 4).

Рисунок 4. Установка «САМО-ТурАгента»

Рисунок 4. Установка «САМО-ТурАгента»

Далее, копируем с Windows-машины файл client.conf в директорию: ~/.wine/drive_c/Program Files/SAMO-Soft/TourAgent SQLNet 5.2 или создаём его сами примерно со следующим содержанием:

[Settings]^M

Locale=0^M

ConnectionIndex=0^M

^M

[Connection0]^M

Port=88^M

Name=Connection^M

Host=192.168.0.1^M

UserName=^M

Login=^M

где ^M – так отображается перевод строки. Не забывайте, что в Windows и Linux есть различия. Поэтому или по другим причинам с созданием файла автоматически, при запуске программы, возможны проблемы. При копировании работающего файла проблем нет.

Далее, запускаем программу, щёлкнув по иконке (пальмочка в меню «Приложения -> Wine -> Программы -> САМО-ТурАгент SQL 5.2 -> САМО-Тур-Агент SQL 5.2»). Вводим логин и пароль и подключаемся (см. рис. 5).

Рисунок 5. Вводим логин и пароль

Рисунок 5. Вводим логин и пароль

При первой установке будет запрос от Wine Gecko Installer – нажимаем Install. В случае отмены – нажатие Cancel, вопрос будет задан при повторном запуске, а в правом нижнем углу не будет показана информационная панель agentinfo.

Информация на панели берётся с адреса http://www.samo.ru/agentinfo/?, и кажется, в настройках программы этот адрес не меняется. Если в вашем случае для выхода во внешний мир используется прокси-сервер с аутентификацией, то программа не предоставляет отдельного меню по настройке его параметров.

Что интересно, в первых версиях «САМО-ТурАгента» при работе из локальной сети версий, запущенных под Windows, если в настройках IE был прописан прокси, то и программа подключалась, используя этот прокси. При этом галочка «Использовать прокси-сервер» установлена не была. Приходилось её ставить, прописывать «левый» прокси, а после в списке исключений прописывать реальный адрес сервера, тогда подключение к нему шло напрямую.

Также интересно, что настройка для поля agentinfo находится отдельно от настроек подключения. Так разработчики нам сообщили, что сама программа при подключении к серверу не обращает внимания на системные настройки прокси у IE, а вот agentinfo (справа внизу) на них смотреть будет. Настройки лежат в реестре wine. Проверьте в ветке реестра HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings параметр ProxyEnable, он должен быть установлен в 1. ProxyServer хранит адрес прокси-сервера, например server:3128. Параметры аутентификации, скорее всего, следует прописать там же.

На мой взгляд, это не самое удачное решение, но другого нет.

Что ещё не работает (не работало)?

Первые версии программы не закрывались с помощью «крестика» в правом верхнем углу. Пришлось обучить всех пользователей использовать xkill.

Далее, в середине лета Вячеславом Куракиным ошибка была исправлена. Размер файла client_sqlnet.exe, где ошибка исправлена, равен 5710336 байт.

При сворачивании окна оно практически никогда после не разворачивается, и программу приходится завершать и запускать заново. Для этого пользователи были научены работать с разными виртуальными столами и запускают «САМО-ТурАгент» на отдельном столе.

При попытке сохранить данные из «Мастера оформления заявки» выдаётся окно «Ошибка подключения» (см. рис. 6). При этом данные всё же сохраняются. Аналогичная ошибка выскакивает при удалении заявки. Пользователи просто игнорируют ошибку и работают, как если бы её не было.

Рисунок 6. «Ошибка подключения»

Рисунок 6. «Ошибка подключения»

При печати отчётов используется «FastReport» [5]. Была ситуация, что не видны часть шрифтов, пропадают буквы и абзацы текста. Решение было найдено следующее – скопировать с Windows машины в папку ~/.wine/drive_c/windows/system32 файлы riched20.dll и riched32.dll. После этого надо их прописать в конфигурации wine (меню «Приложения -> Wine -> Wine Configuration») (см. рис. 7).

Рисунок 7. Wine Configuration

Рисунок 7. Wine Configuration

Во вкладке «Библиотеки» следует выбрать в падающем меню «Новое замещение для библиотеки» нужные файлы и нажать после кнопку «Добавить», после чего они появятся в окошечке ниже (см. рис. 8).

Рисунок 8. Настройка wine, замещения dll

Рисунок 8. Настройка wine, замещения dll

После следует скопировать нужные шрифты в папку ~/.wine/drive_c/windows/fonts. Например, можно попробовать взять целиком папку Fonts с какой-нибудь Windows-машины. После этих действий все отчёты через FastReport отображаются, и их можно печатать, например, «Договор с клиентом» и другие.

Рисунок 9. Программа «САМО-ТурАгент», работающая под Linix

Рисунок 9. Программа «САМО-ТурАгент», работающая под Linix

Заключение

Очень хочется, чтобы упоминаемые «лебедь, рак да щука» решили проблему, сместив воз с места, без привлечения кого-то четвёртого, иначе «знаменитое трио» может оказаться не менее знаменитым «квартетом» из всё той же басни И.А. Крылова.

  1. Я.И. Перельман. Занимательная физика, изд. 15-е, Государственное издательство технико-теоретической литературы, М.:1949.
  2. Барановский С. Как запустить «САМО-Тур» для Windows под Linux. //Системный администратор, №5, 2008 г. – С. 42-29.
  3. Сайт фирмы Etersoft, занимающейся вопросами запуска приложений под Linux – http://www.etersoft.ru.
  4. Uni Office@Etersoft, транслятор COM-объектов MS Office – http://wiki.etersoft.ru/UniOffice.
  5. Fast Reports Inc., генератор отчётов, создание и разработка отчётов – http://fast-report.com/ru.
  6. Сайт программы Dependency Walker, которая ищет зависимости между библиотеками – http://www.dependencywalker.com.

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Google+

If you’re attempting to run any sort of database or macro in a Wine-based environment on any sort of GNU/Linux implementation, then you might experience some sort of error message. At some point during the program flow, you might ultimately see an OLE Error 8004013F box. Your script will then immediately cease execution. If this were to happen, then you’re more than likely missing a library that your script needs to run. In a native Windows client, these libraries are used to match objects inside of files with their parent host. Linux doesn’t have this capability, since each program running in an X Server manages things in its own way.

Under a native Microsoft Windows environment, Delphi can use a small bit of code to open Excel. If you wanted an embedded and linked instance of Excel to work with different objects, then you might have used eclApp:=CreateOleObject(‘Excel.Application’); to do so. Inside of Linux, you might have even tried to use OpenOffice this way. Should you find Delphi throwing the dreaded 8004013F error at you after you attempt to create an OLE object with an instance of the eclApp:=CreateOleObject(‘com.sun.star.ServiceManager’); snippet, then you’re probably suffering from the same dependency problem. First, look over your code for any misspellings. These are the most common causes of errors even before dependencies are involved. Once you’re sure that you’ve written everything correctly, and then you can proceed to recover the needed libraries.

Necessary OLE Libraries

You may also experience the same error if you were attempting to use a Windows organizer application called keynote-nf, and if that’s the case then you can use the same process to remedy it. The keynote.exe file doesn’t come with an installer, so it’s common to copy it over to the Program Files directory. While it might run, you could experience either the abovementioned 8004013F error or a different 80004001 exception. In either case, make a directory inside of Program Files with either the mkdir command or your graphical file manager. Call it KeyNote-NF, and move the keynote.exe binary over to it.

If you have access to a Windows XP, Vista, 7, 8, 8.1 or 10 partition, then you might want to try copying the msftedit.dll file from the C:Windowssystem32 directory to the KeyNote-NF directory you made. You should also copy the msls31.dll file. You could acquire both of these from an installation CD as well, but you’ll need to use the expand command in order to inflate them. In either case, run the program and you should find that it works fine.

Thunar, Nautilus and other similar file managers will identify keynote.exe as a DOS executable, which you can safely ignore. Simply run it like you had previously. When you right-click to access a context menu, you might actually get an option encouraging you to run it under Wine. Select this option to start it. Running the program from the terminal instead will allow you to see any error messages that might rear their head in the process. In some cases, you might actually get a warning about a different file name than either msftedit.dll or msls31.dll, which you should instead acquire. Much like a Unix dependency rabbit hole, you could theoretically spend some time acquiring a directory full of different files.

When you’re having the same problem with Excel or Delphi code, navigate to the directory that contains the executable you’re attempting to run and place the two dynamically linked library files in that directory. You can give Wine total access to these by putting them in ~/.wine/drive_c/Windows/system32 as well, but this might overwrite some of the files that Wine installs by default.

Since these DLLs are superior in some ways to the open-source solutions that Wine uses, they can also aid in linking objects in other programs you might run, but many users don’t like the idea of polluting their Linux installation with closed-source files. Putting them only in the directories your programs actually use is the best way to solve this problem. You can even create directories for actual Windows accessories you’ve copied over from another partition. For instance, some users experience these sorts of problems if they’re using a bash script or Delphi code to start traditional WordPad instances. Wine might have installed it’s own version of write.exe, but there’s nothing stopping you from creating a directory in “~/.wine/drive_c/Program Files/” and placing write.exe, msftedit.dll and msls31.dll to it, then referencing that directory with your code. Since Wine does include a primitive version of the cmd interpreter from Microsoft Windows NT, you can also reference these programs in Batch script files if you prefer. Make sure to preface these with @ECHO OFF, or else each command will appear as though you’ve typed it at a command line and then pushed enter to execute it one after another.

Many sites on the Internet offer DLL objects for download, and it might be tempting to go with one of these repositories if you don’t have a Windows installation on another partition. While they can indeed be certainly convenient, make sure you perform a malware scan on msftedit.dll and msls31.dll if you’re forced to acquire them this way. You shouldn’t treat these repositories the same way that you treat the official ones sponsored by the Ubuntu, Debian and Fedora projects.

Keep in mind too that if you’re forced to acquire them in this manner that it may cause licensing concerns if you’re redistributing your code. Don’t install any executable that any such repository asks about either, since these executables are more often than not a form of adware designed to influence users of actual official Microsoft Windows software environments. The same goes for any case where you might have been required to download a number of different libraries outside of these two, since they can fall prey to the same sort of adware invasion.

Photo of Kevin Arrows

Kevin Arrows

Kevin is a dynamic and self-motivated information technology professional, with a Thorough knowledge of all facets pertaining to network infrastructure design, implementation and administration. Superior record of delivering simultaneous large-scale mission critical projects on time and under budget.

Debian Bug report logs —
#721855
wine: OLE error 800401F3, ProgID: «WEBMScripting.SWBEMLocator»

version graph

Reported by: Pierre Rudloff <contact@rudloff.pro>

Date: Wed, 4 Sep 2013 17:15:02 UTC

Severity: important

Found in version wine/1.4.1-4

Done: Michael Gilbert <mgilbert@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages


Report forwarded
to debian-bugs-dist@lists.debian.org, Debian Wine Party <pkg-wine-party@lists.alioth.debian.org>:
Bug#721855; Package wine.
(Wed, 04 Sep 2013 17:15:07 GMT) (full text, mbox, link).


Acknowledgement sent
to Pierre Rudloff <contact@rudloff.pro>:
New Bug report received and forwarded. Copy sent to Debian Wine Party <pkg-wine-party@lists.alioth.debian.org>.
(Wed, 04 Sep 2013 17:15:07 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

Package: wine
Version: 1.4.1-4
Severity: important

Dear Maintainer,

I am tryong to uninstall Ittle Dew (http://www.ittledew.com/) but the
uninstaller crashes with this error:
OLE error 800401F3, ProgID: "WEBMScripting.SWBEMLocator"

Here is the log:
pierre@Rudloff:~/.wine/drive_c/GOG Games/Ittle Dew$ wine unins000.exe
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:process:SetProcessDEPPolicy (1): stub
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:process:SetProcessShutdownParameters (00000380, 00000000): partial stub.
p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-
pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: Ne peut
ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type
fixme:process:SetProcessDEPPolicy (1): stub
fixme:win:DisableProcessWindowsGhosting : stub
p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-
pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: Ne peut
ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type
fixme:process:SetProcessDEPPolicy (1): stub
fixme:win:DisableProcessWindowsGhosting : stub
fixme:msg:ChangeWindowMessageFilter c055 00000001
fixme:msg:ChangeWindowMessageFilter c055 00000001

Regards,



-- System Information:
Debian Release: 7.1
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages wine depends on:
ii  wine-bin  1.4.1-4

wine recommends no packages.

wine suggests no packages.

-- no debconf information



Information forwarded
to debian-bugs-dist@lists.debian.org, Debian Wine Party <pkg-wine-party@lists.alioth.debian.org>:
Bug#721855; Package wine.
(Thu, 05 Sep 2013 12:39:08 GMT) (full text, mbox, link).


Acknowledgement sent
to LOMBARD Maxime <berillions@gmail.com>:
Extra info received and forwarded to list. Copy sent to Debian Wine Party <pkg-wine-party@lists.alioth.debian.org>.
(Thu, 05 Sep 2013 12:39:08 GMT) (full text, mbox, link).


Message #10 received at 721855@bugs.debian.org (full text, mbox, reply):

[Message part 1 (text/plain, inline)]
Why you open debian bug report for your problem.

For this bug, and your others bug report #719515 and #719516 => It's not a
debian problem, it's an upstream problem.

So, stop create bug report here and post them in the Wine bugzilla :
http://bugs.winehq.org/

Thanks,
Max
[Message part 2 (text/html, inline)]

Reply sent
to Michael Gilbert <mgilbert@debian.org>:
You have taken responsibility.
(Wed, 22 Jan 2014 03:54:05 GMT) (full text, mbox, link).


Notification sent
to Pierre Rudloff <contact@rudloff.pro>:
Bug acknowledged by developer.
(Wed, 22 Jan 2014 03:54:05 GMT) (full text, mbox, link).


Message #15 received at 721855-close@bugs.debian.org (full text, mbox, reply):

If you're still encountering this issue, please submit the problem to
the winehq bugzilla.

Best wishes,
Mike



Bug archived.
Request was from Debbugs Internal Request <owner@bugs.debian.org>
to internal_control@bugs.debian.org.
(Wed, 19 Feb 2014 07:33:38 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>.
Last modified:
Thu Feb 9 22:33:37 2023;
Machine Name:
bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.

Если вы пытаетесь запустить какую-либо базу данных или макрос в среде на основе Wine в любой реализации GNU / Linux, то вы можете получить какое-то сообщение об ошибке. В какой-то момент во время выполнения программы вы можете в конечном итоге увидеть Ошибка OLE 8004013F коробка. Ваш сценарий немедленно прекратит выполнение. Если это произойдет, то вам, скорее всего, не хватает библиотеки, которую должен запустить ваш скрипт. В собственном клиенте Windows эти библиотеки используются для сопоставления объектов внутри файлов с их родительским узлом. В Linux нет такой возможности, поскольку каждая программа, работающая на X-сервере, управляет всем по-своему.

В собственной среде Microsoft Windows Delphi может использовать небольшой фрагмент кода для открытия Excel. Если вы хотите, чтобы встроенный и связанный экземпляр Excel работал с разными объектами, возможно, вы использовали eclApp: = CreateOleObject ( «Excel.Application»); сделать это. Внутри Linux вы, возможно, даже пытались использовать OpenOffice таким образом. Если вы найдете Дельфи, бросающий страшных 8004013F ошибка при попытке создать объект OLE с экземпляром eclApp: = CreateOleObject ( «com.sun.star.ServiceManager»); фрагмент, тогда вы, вероятно, страдаете от той же проблемы зависимости. Во-первых, просмотрите ваш код на наличие орфографических ошибок. Это наиболее распространенные причины ошибок еще до того, как будут задействованы зависимости. Если вы уверены, что написали все правильно, и тогда вы можете приступить к восстановлению необходимых библиотек.

Необходимые библиотеки OLE

Вы также можете столкнуться с той же ошибкой, если пытаетесь использовать приложение-органайзер Windows под названием keynote-nf, и в этом случае вы можете использовать тот же процесс для ее исправления. Файл keynote.exe не поставляется с установщиком, поэтому его обычно копируют в каталог Program Files. Хотя он может работать, вы можете столкнуться с вышеупомянутой ошибкой 8004013F или с другим исключением 80004001. В любом случае создайте каталог внутри Program Files с помощью команды mkdir или вашего графического файлового менеджера. Назовите его KeyNote-NF и переместите к нему двоичный файл keynote.exe.

Если у вас есть доступ к разделу Windows XP, Vista, 7, 8, 8.1 или 10, вы можете попробовать скопировать файл msftedit.dll из C: Windows system32 каталог в каталог KeyNote-NF, который вы создали. Вам также следует скопировать файл msls31.dll. Вы также можете приобрести оба из них с установочного компакт-диска, но вам нужно будет использовать команду расширения, чтобы их раздувать. В любом случае, запустите программу, и вы увидите, что она работает нормально.

Thunar, Nautilus и другие подобные файловые менеджеры будут идентифицировать keynote.exe как исполняемый файл DOS, который можно смело игнорировать. Просто запустите его, как вы это делали ранее. Когда вы щелкаете правой кнопкой мыши, чтобы получить доступ к контекстному меню, вы можете получить опцию, побуждающую вас запускать его под Wine. Выберите эту опцию, чтобы запустить ее. Вместо этого, запустив программу из терминала, вы увидите все сообщения об ошибках, которые могут привести к их потере в процессе. В некоторых случаях вы можете получить предупреждение о другом имени файла, отличном от msftedit.dll или msls31.dll, которое вы должны вместо этого получить. Во многом как кроличья нора зависимости от Unix, вы теоретически можете потратить некоторое время на приобретение каталога, заполненного различными файлами.

Если у вас возникла та же проблема с кодом Excel или Delphi, перейдите в каталог, содержащий исполняемый файл, который вы пытаетесь запустить, и поместите два динамически связанных библиотечных файла в этот каталог. Вы можете предоставить Wine полный доступ к ним, поместив их в ~ / .Wine / drive_c / Windows / system32 также, но это может перезаписать некоторые файлы, которые Wine устанавливает по умолчанию.

Поскольку эти библиотеки DLL в некоторых отношениях превосходят решения с открытым исходным кодом, которые использует Wine, они также могут помочь в связывании объектов в других программах, которые вы можете запустить, но многим пользователям не нравится идея загрязнения их установки Linux закрытым исходным кодом. файлы. Поместить их только в каталоги, которые фактически используют ваши программы, — лучший способ решить эту проблему. Вы даже можете создавать каталоги для реальных аксессуаров Windows, которые вы скопировали из другого раздела. Например, некоторые пользователи сталкиваются с такими проблемами, если они используют скрипт bash или код Delphi для запуска традиционных экземпляров WordPad. Возможно, Wine установил собственную версию write.exe, но ничто не мешает вам создать каталог в «~ / .Wine / drive_c / Program Files /» и поместив в него write.exe, msftedit.dll и msls31.dll, а затем сослаться на этот каталог с вашим кодом. Поскольку Wine включает в себя примитивную версию интерпретатора cmd из Microsoft Windows NT, вы также можете ссылаться на эти программы в файлах пакетных сценариев, если хотите. Убедитесь, что перед ними стоит @ECHO OFF, иначе каждая команда будет выглядеть так, как будто вы набрали ее в командной строке, а затем нажали клавишу Enter, чтобы выполнить ее одну за другой.

Многие сайты в Интернете предлагают объекты DLL для загрузки, и может возникнуть соблазн пойти с одним из этих репозиториев, если у вас нет установки Windows в другом разделе. Хотя они действительно могут быть очень удобными, убедитесь, что вы выполняете сканирование вредоносных программ на msftedit.dll и msls31.dll, если вы вынуждены приобретать их таким образом. Вы не должны обращаться с этими репозиториями так же, как с официальными, спонсируемыми проектами Ubuntu, Debian и Fedora.

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

Модератор: Модераторы разделов

boba139

Сообщения: 3
ОС: Ubuntu 7.04

Ole Error 800401f3

wine-0.9.33
Ubuntu 7.04
Есть маленькое приложение, которое загружает базу в формате .dat редактирует, сохраняет и выводит в EXCEL (создает файл .XLS).
При открытии, сохранении все нормально.
При выводе в Эксель вылазит ошибка Ole error 800401F3.

Кто-нибудь сталкивался? Можно подружить с опен оффисом?
Куда копать?

Hoblin

Модератор
Сообщения: 1442
Статус: Etersoft team
ОС: ALT Linux

Re: Ole Error 800401f3

Сообщение

Hoblin » 08.05.2007 08:39

boba139 писал(а): ↑

08.05.2007 01:41

При выводе в Эксель вылазит ошибка Ole error 800401F3.

Кто-нибудь сталкивался? Можно подружить с опен оффисом?

Странно, при использовании MSO обычно не возникает проблем с экспортом в word/excel. А вот за счёт того, что экспорт через OLE реализован подружить с ОО может и не получиться. Обычных правок в реестре там не хватит…

Hoblin

Модератор
Сообщения: 1442
Статус: Etersoft team
ОС: ALT Linux

Re: Ole Error 800401f3

Сообщение

Hoblin » 08.05.2007 12:29

boba139 писал(а): ↑

08.05.2007 12:16

Хотелось бы без паленого софта.

Причём тут палёный софт? Вопрос изначально стоял «При выводе в Эксель…»
ОО, конечно, был бы лучшим вариантом. Кто научится преобразовывать OLE-шный вызов MSO в вызов ОО — расскажите как.

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Ole error 80030050
  • Ole error 80004001 wine
  • Ole error 0x80020005
  • Ole db or odbc error exception from hresult 0x80040e4e an unexpected exception occurred
  • Ole call failed error code ffffffff

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии