Summary: | Экспорт из Само-тур в Open Office | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Andrey Vusik <night> |
Component: | Взаимодействие с Office | Assignee: | Александр Морозов <amorozov> |
Status: | CLOSED LATER | QA Contact: | Денис Баранов <baraka> |
Severity: | normal | ||
Priority: | P4 | CC: | baraka, goga, lav, mid, regan, sonner, stas, support |
Version: | 1.0.12 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | САМО | ||
Заявки RT: | 11639 | Связано с: | 6589 |
Дата напоминания: | |||
Bug Depends on: | 3014, 6586 | ||
Bug Blocks: | 3979, 3000 |
Description
Andrey Vusik
2008-07-29 11:50:52 MSD
Эта ошибка возникает, тогда когда используются различные библиотеки Ole32, olepro, oleauto, rpc.....т.е. допустим часть идет всроенные, часть внешние....необходимо все выставить или внешние или внутренние и повторить попытку. Там почти все -- (сторонняя, встроенная) стоит. А нужно только эти библиотеки выставлять или все? Достаточно только эти 4 которые я указал....необходимо, чтобы они были все одинаковы или (сторонняя, встроенная) или (встроенная, сторонняя). В общем выставил (сторонняя, встроенная) - теперь при этом открывается IE, говорит, что не может загрузить страницу и всё... Нашёл, почему в бутылке не работало. Нужно чтобы было выставлено windows98 в winecfg. Странно, что с widowsXP даже в odbcad32 не видит сервера. Если что - помогает wine --update. Выставил в бутылке - эффект тот же - открывается окно ie и всё. Бутылка samo Как именно воспроизводится проблема... Я запустил wintour.exe, запустилось...под гостем залогинился..Что дальше? Когда появляется окно ie? Да.. Точно.. Забыл отписать.. Имя ROOT, пароль IOP Справочники--классификаторы--порты Далее правой по ячейке -- экспорт Ну и далее там понятно.. В винде открывается таблица в Экселе. И так результаты исследования проблемы. Выгрузка осуществляется в xml формате. В папке c:\windows\temp\ формируется файл export.xml. После того как файл получен, дается команда на его открытие (ShellExecute). В wine сейчас для xml файлов назначена программа IExplore, но она не справляется с их открытием. Для нормальной работы выгрузки необходимо связать расширение xml с OpenOffice (он справляется с открытием xml). Виталик, Костя сказал, что когда заполняли расширения(в реестре) для OpenOffice, xml решено было не включать. Почему было так решено? Сделал патч. Отправил. Когда будет новая сборка надо будет проверить и закрыть. (In reply to comment #11) > Сделал патч. Отправил. Когда будет новая > сборка надо будет проверить и закрыть. Денис, проверь пожалуйста на новой сборке wine Видимо патч не приложили. По прежнему открывается в IE, в реестре тоже для .xml файла Oo не настроен. А сейчас? проверил на cellar. по умолчанию экспорта нет. настроил замещения библиотек (ставил "сторонняя, встроенная"), в реестре с .xml указал значение calc.etersoft - экспорт в OpenOffice появился, работает (In reply to comment #15) > проверил на cellar. по умолчанию экспорта нет. > настроил замещения библиотек (ставил > "сторонняя, встроенная"), в реестре с .xml > указал значение calc.etersoft - экспорт в OpenOffice > появился, работает Не очень понимаю. Никаких замещений библиотек вообще-то не надо: просто запускать надо через winexp. Делали ли wine --update ? У нас в /etc/wine/ooffice.reg необходимое правило для xml вроде как есть. (In reply to comment #16) > Не очень понимаю. Никаких замещений > библиотек вообще-то не надо: просто > запускать надо через winexp. делал в wine а не в winexp -) проверю еще раз; > Делали ли wine --update ? > У нас в /etc/wine/ooffice.reg > необходимое правило для xml вроде как есть. да, но без изменений в реестре работать отказывалось в новой бутылке снова не удалось ни настроить (подключение к базе и запуск самого wintour), ни найти причину почему нет коннекта (In reply to comment #18) > в новой бутылке снова не удалось ни > настроить (подключение к базе и запуск > самого wintour), ни найти причину почему нет > коннекта > В настройках bde выставь "SHAREDMEMLOCATION"="9000" в новой бутылке установил и настроил, к базе подключается и запускается.установил unioffice. попробовал экспорт - открывает ie с ошибкой "the url is not valid and could be loaded" - экспорта по умолчанию нет :( (In reply to comment #20) > в новой бутылке установил и настроил, к > базе подключается и запускается.установил > unioffice. попробовал экспорт - открывает ie с > ошибкой "the url is not valid and could be loaded" - экспорта > по умолчанию нет :( > Денис, проверь еще раз пожалуйста
> Денис, проверь еще раз пожалуйста
>
Свежая бутылка samo/samo-export, установлен oo версии 3.
Запускаю через wine. Экспорта нет - пишет, что Excel не установлен (хотя Calc стоит и работает).
Через winexp проверить не возможно, так как не работает winsock с версиямя позже Win ME.
Откуда там взялся виндовый winsock? А вы вообще читали статью в январском номере системного администратора об установке СамоТур? (In reply to comment #23) > Откуда там взялся виндовый winsock? > А вы вообще читали статью в январском > номере системного администратора об > установке СамоТур? > Имелась ввиду ошибка #3014 : fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (98000004) У нас настройка подключения к серверу базы происходит через odbcad32.exe А в нём в свою очередь в нашем 1.0.9 не работало подключение к sql-серверу(с win2000 и старше). На winehq была бага http://bugs.winehq.org/show_bug.cgi?id=16223 Она исправлялась патчем http://www.winehq.org/pipermail/wine-devel/2008-May/065380.html (в wine 1.1.9) Сейчас это работает и у нас в 1.0.10 Сейчас проверю экспорт.. По-умолчанию снова открывается IE с предложением установить gecko Unioffice для экспопрта нужен. Без него вылетает ошибка, что Excel не установлен. В реестре в HKEY_LOCAL_MACHINE\Software\Classes\xmlfile\shell\Open\command выставлено значение "C:\Program Files\Internet Explorer\iexplore.exe" -nohome В wine.inf присутствуют следующие строки: HKCR,xmlfile\shell\open\command,,2,"%11%\winebrowser.exe -nohome" HKCR,xmlfile\shell\open\ddeexec,,2,"""%1"",,-1,0,,,," HKCR,xmlfile\shell\open\ddeexec,"NoActivateHandler",2,"" HKCR,xmlfile\shell\open\ddeexec\Application,,2,"IExplore" HKCR,xmlfile\shell\open\ddeexec\Topic,,2,"WWW_OpenURL" Нужно разбираться, почему в Винде в СамоТур файл .xml открывается через Excel. Воспроизвёл. Буду исправлять. Отличий при запуске через wine от winexp не обнаружил. Проверил реестр. Настройки: [HKEY_LOCAL_MACHINE\Software\Classes\.xml] @="calc.etersoft" и [HKEY_LOCAL_MACHINE\Software\Classes\calc.etersoft\shell\open\command] @="c:\\windows\\command\\ooffice \"%1\"" в реестре присутствуют. Нашёл другой способ воспроизведения. Достаточно открыть файл windows/temp/export.xml с помощью комманды: wine start export.xml В данном случае wine также пытается открыть файл с помощью IE Бактрейс искуственного падения при открытии файла (в Само-тур: Backtrace: =>0 0x7e543890 SHELL_execute+0x35(sei=0x32f938, execfunc=0x7e5430d9) [/srv/vitperov/Projects/wine-dev/dlls/shell32/shlexec.c:1499] in shell32 (0x0032f8f0) 1 0x7e54636e ShellExecuteExA+0x283(sei=0x32f9b8) [/srv/vitperov/Projects/wine-dev/dlls/shell32/shlexec.c:1912] in shell32 (0x0032f980) 2 0x7e5465b2 ShellExecuteA+0x11f(hWnd=0x10020, lpOperation="open", lpFile="c:\windows\temp\export.xml", lpParameters=0x0, lpDirectory=0x0, iShowCmd=5) [/srv/vitperov/Projects/wine-dev/dlls/shell32/shlexec.c:1877] in shell32 (0x0032fa00) В процессе вызова SHELL_execute вызывается функция SHELL_FindExecutable, котора должно искать программу для запуска этого файлу, в том числе и в реестре. Функция выполняется успешно. Находит: wcmd=L"C:\\Program Files\\Internet Explorer\\iexplore.exe" wszApplicationName=L"c:\\windows\\temp\\export.xml" Для поиска типа файла по расширению используется RegQueryValueW. Она возвращает тип файла "xmlfile". Далее вызывается SHELL_FindExecutableByOperation, которая возвращает command = L"\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" -nohome", operation = L"open" Слишком глубоко я залез. Бага намного ближе. Копирую файл export.xml в export.xls. Открываю wine start export.xls. Открывается в OpenOffice Ещё раз открываю wine start export.xml. Открывается в IE. Смотрю в реестр: [HKEY_LOCAL_MACHINE\Software\Classes\.xls] @="calc.etersoft" [HKEY_LOCAL_MACHINE\Software\Classes\.xls\OpenWithProgIDs] "OpenOffice.org.Xls"="" и [HKEY_LOCAL_MACHINE\Software\Classes\.xml] @="xmlfile" "Content Type"="text/xml" Добавил запись: [HKEY_LOCAL_MACHINE\Software\Classes\.xml\OpenWithProgIDs] "OpenOffice.org.Xls"="" Теперь всё прекрасно экспортируется. В etersoft/ooffice.reg подобных строчек нет. Видимо они добавляются при установке OpenOffice. Видимо ooffice.reg придётся полностью переписывать Проблема не совсем в этой строчке. Проблема может быть в изменении настроек для xml файла. ooffice.reg (т.е так должно быть в свежей бутылке): [HKEY_LOCAL_MACHINE\Software\Classes\.xml] @="calc.etersoft" В бутылке с установленным Само-Тур и OpenOffice: [HKEY_LOCAL_MACHINE\Software\Classes\.xml] @="xmlfile" "Content Type"="text/xml" Думаю надо определить когда данное значение перезаписывается В общем, задача следующая: 1) Создать чистую бутылку, убедится, что там: [HKEY_LOCAL_MACHINE\Software\Classes\.xml] @="calc.etersoft" 2) Последовательно устанавливать программы (OpenOffice, UniOffice, Само-Тур), И выяснить на каком этаме это значение станет: [HKEY_LOCAL_MACHINE\Software\Classes\.xml] @="xmlfile" "Content Type"="text/xml" (In reply to comment #35) > В общем, задача следующая: > 1) Создать чистую бутылку, убедится, что там: > [HKEY_LOCAL_MACHINE\Software\Classes\.xml] > @="calc.etersoft" > > 2) Последовательно устанавливать программы > (OpenOffice, UniOffice, Само-Тур), > И выяснить на каком этаме это значение > станет: > [HKEY_LOCAL_MACHINE\Software\Classes\.xml] > @="xmlfile" > "Content Type"="text/xml" > Создал свежую бутылку samo/test-2175 И тут первоначальные значения [HKEY_LOCAL_MACHINE\Software\Classes\.xml] @="xmlfile" "Content Type"="text/xml" А, например, для xls и xlt имеем @="calc.etersoft" Выяснилось, что при создании бутылки выполняется регистрация msxml, которая перезаписывает привило для расширения .xml. Решением проблемы является обработка файла реестра ooffice.reg после регистрации библиотек. Решение должно появится в сборке eter24. WINE@Etersoft 1.0.12 eter5/eter4 UniOffice 0.5 OpenOffice 3.2 Само тур при экспорте сообщает что не установлен Excel Проверил всевозможный экспорт из программы. Бутылка buh/samo/office пароль etersoft 1.0.12-eter6.3/9 OpenOffice 3.2 UniOffice 0.5 Пока замечена одна проблема: Справочник -- заявки -- отмечаем пробелом заявки -- нажимаем справа MS Excel -- получаем ошибку "Ole error".
> Само тур при экспорте сообщает что не
> установлен Excel
>
Как воспроизвести?
(In reply to comment #40) > > Само тур при экспорте сообщает что не > > установлен Excel > > > > Как воспроизвести? > Видимо так как ты воспроизводил. Проблема в 39 комменте. eter7/eter12 - ситуация не изменилась. Бутылка buh/samo/samo-15130 и samo-15427 Можем сообщить вам следующее: По порядку, чтобы работать с Calc, к примеру: 1. Идёт проверка его наличия CLSIDFromProgID(PWideChar(WideString(Name)), ClassID) = S_OK (Name = 'com.sun.star.ServiceManager') 2. Создание ServiceManger'а - FServiceManager := CreateOleObject('com.sun.star.ServiceManager') 3. Создание десктопа - FDesktop := FServiceManager.createInstance('com.sun.star.frame.Desktop'); 4. потом идёт открытие через FDesktop.LoadComponentFromURL этот Url - либо имя файла (file:///[путь]), либо новый файл - private:factory/scalc Из реестра информация берётся только для проверки, установлен ли Wine. Насколько скоро можно решить проблему? > Насколько скоро можно решить проблему?
С проблемой ещё не разбирался, поэтому сказать что-то трудно. Можно пока ориентироваться на первоначальную оценку.
Где и как воспроизводил багу? Всё отписываешь и на Сашу перевешиваешь. (В ответ на comment #47) > Где и как воспроизводил багу? > Всё отписываешь и на Сашу перевешиваешь. парой постов выше написано где воспроизводил багу(бутылки указаны). Пост ради поста?? Согласен. Значит подойди к Саше и покажи как ты воспроизводил. Настроил в buh/samo/samo-15130 Пользователь, пароль: ROOT, IOP Рабочие бутылки buh/samo/samo-15130 buh/samo/main buh/samo/copy логин, пароль: ROOT, IOP > buh/samo/samo-15130
> buh/samo/main
> buh/samo/copy
Во всех бутылках не установлены UniOffice и OpenOffice. Естественно, при этом экспорт не работает.
(В ответ на comment #53) > > buh/samo/samo-15130 > > buh/samo/main > > buh/samo/copy > Во всех бутылках не установлены UniOffice и OpenOffice. Естественно, при этом > экспорт не работает. Прошу прощения=) Бутылка buh/samo/office там все стоит, подключение есть > Бутылка buh/samo/office
> там все стоит, подключение есть
Получаю ошибку о недоступности диспетчера компонентов. Такая же ошибка выводится при запуске scalc.exe.
Скопировал бутылку на atlant, так как на нём запускается OpenOffice. При попытке воспроизведения баги он не запускается, никаких сообщений об ошибках не появляется. В консоли: fixme:file:MoveFileWithProgressW MOVEFILE_WRITE_THROUGH unimplemented fixme:font:GetKerningPairsA Can't find codepage for charset 1 fixme:font:WineEngRealizationInfo (0x150088, 0x14af91c): stub! err:ole:CoInitializeEx Attempt to change threading model of this apartment from apartment threaded to multi-threaded fixme:ole:LPSAFEARRAY_UserSize size interfaces fixme:ole:LPSAFEARRAY_UserMarshal marshal interfaces fixme:ole:LPSAFEARRAY_UserUnmarshal marshal interfaces fixme:file:MoveFileWithProgressW MOVEFILE_WRITE_THROUGH unimplemented fixme:ntdll:server_ioctl_file Unsupported ioctl 110004 (device=11 access=0 func=1 method=0) err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706be Пока что трудно оценить сроки на исправление. Через ww OpenOffice.org Calc запускается и на cellar. Так что проблема с его запуском связана со старой версий установленной открытой части. wine-etersoft-1.0.10-alt22.M41.23 wine-etersoft-sql-1.0.10-alt18 При экспорте окно OpenOffice не появляется, никаких сообщений об ошибках не выводится. В /var/ftp/pvt/Windows/Testing/RT/15130 лежит сборка самотура, подготовленная специально для нас. В демо-версии, на сколько я понял, функционала экспорта и выгрузки в почту НЕТ. to night: поставь пожалуйста ту сборку что лежит в etersoft.zip. sql-server 2005 находится на машине Windows 2003-MS-SQL-2005 (195.168.4.93) база samo (последняя присланная) Настроил в бутылке buh/samo/samo-office Источник данных 2005 логин, пароль к серверу - sa, qwe К Само - etersoft, etersoft При открытии любого справочника получаю ошибки Field "какое-то название" is not of the expected type Сделал из летней базы(samo07), там аналогично. Задал вопрос в заявке. Получил обновленный дистрибутив и базу. Предыдущей проблемы в ней нет. База на сервере Windows 2003-MS-SQL-2005 (195.168.4.93) - samo. Файлы находятся в var/ftp/pvt/Windows/Учётные,\ бухгалтерские/САМО-soft/ Обновил и настроил бутылки buh/samo/main и buh/samo/copy Сделал новую бутылку для экспорта buh/samo/export Справочник -- заявки -- отмечаем пробелом заявки -- нажимаем справа MS Excel -- получаем ошибку "Ole error". Если выставить Ole32, olepro, oleout, rpc как сторонние(сейчас там так), тогда получаю зависание и "Ошибку экспорта" Я так понял, что должен быть собственный функционал отправки в openoffice без unioffice. Поставил samotur, openoffice и unioffice, на virtualbox. Но экспорт не смог сделать. > Обновил и настроил бутылки buh/samo/main и buh/samo/copy
> Сделал новую бутылку для экспорта buh/samo/export
Что-то, видимо, опять сломалось.
При попытке залогиниться получаю ошибку "Field 'localip' not found." Использовал логин и пароль etersoft.
> При попытке залогиниться получаю ошибку "Field 'localip' not found."
> Использовал логин и пароль etersoft.
Восстановил базу (файл на рабочем столе на сервере - etersoft_)
|