Bug 4933

Summary: MSO не открывает выбранный файл через меню
Product: WINE@Etersoft Reporter: Patsev Anton <chemtech>
Component: Взаимодействие с OfficeAssignee: Vitaly Lipatov <lav>
Status: CLOSED FIXED QA Contact: Денис Баранов <baraka>
Severity: critical    
Priority: P2 CC: amorozov, baraka, shpigor
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 5991, 6433, 6748    
Attachments: открытие файла через меню
Вот результат открытия файла через меню.
log

Description Patsev Anton 2010-02-01 11:25:06 MSK
Добавляем программы MSO в меню для открытия doc, xls, ppt.

Если открывать какой-нибудь документ через контексное меню, то открывается пустой документ, а не выбранный файл.

Если выбрать не Microsoft Office Word 2003, а скрипт, то открывается выбранный файл.


Сам скрипт:
"
#!/bin/bash                                                                                                                   
                                                                                                                              
wine "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE" "$(winepath -w "$@")"
"
Comment 1 Patsev Anton 2010-02-15 07:18:55 MSK
Как сделано у меня.

Есть скрипт

/opt/bin/word:

"
env WINEPREFIX="/home/test/.wine" wineole "C:\\Program Files\\Microsoft Office\\OFFICE11\\WINWORD.EXE" "$(winepath -w "$@")"
"

В файле .local/share/applications/wine/Программы/Microsoft Office/Microsoft Office Word 2003.desktop пишем:

"
Exec=/opt/bin/word
"

В меню gnome удаляем запись открывать в программе "Microsoft Office Word 2003" и снова добавляем ее.

Теперь файл открывается через меню.

Также и с Excel, PowerPoint.
Comment 2 Vitaly Lipatov 2010-02-22 16:27:49 MSK
(In reply to comment #1)
> Как сделано у меня.
... 
> Теперь файл открывается через меню.
> 
> Также и с Excel, PowerPoint.
Самый простой способ должен быть такой:
Выбрать /usr/bin/wine для открытия файлов MSO.

При запуске wine "/путь/к/файлу/файл.doc" будет вызван
wine start "X:\путь\к\файлу\файл.doc", который откроет файл в MSO, если в Wine установлен такой обработчик.

Для общего решения проблемы, видимо, нужно обрабатывать параметры соответствующим образом...

По данной баге не ясно, какая проблема изначально.
Comment 3 Andrey Vusik 2010-03-01 20:28:20 MSK
(In reply to comment #2)
> (In reply to comment #1)
> > Как сделано у меня.
> ... 
> > Теперь файл открывается через меню.
> > 
> > Также и с Excel, PowerPoint.
> Самый простой способ должен быть такой:
> Выбрать /usr/bin/wine для открытия файлов MSO.
> 
> При запуске wine "/путь/к/файлу/файл.doc" будет
> вызван
> wine start "X:\путь\к\файлу\файл.doc", который
> откроет файл в MSO, если в Wine установлен
> такой обработчик.
> 
> Для общего решения проблемы, видимо, нужно
> обрабатывать параметры соответствующим
> образом...
> 
> По данной баге не ясно, какая проблема
> изначально.
> 

Проверил локально. Создал wine-окружение, установил полностью msoXP. В gnome указал ссылку на wine для необходимых форматов, более ничего не настраивал. Всё запускается через mso корректно.
Comment 4 Patsev Anton 2010-03-01 20:33:44 MSK
Какая версия wine?

А MSO2003 проверяли?

Надо тоже проверить.
Comment 5 Andrey Vusik 2010-03-07 21:11:23 MSK
(In reply to comment #4)
> Какая версия wine?
> 
> А MSO2003 проверяли?
> 
> Надо тоже проверить.
> 

Проверил в 2003. Проблемы нет.
wine 1.0.12
AltLinux 5.0 под Гномом.
Comment 6 Patsev Anton 2010-03-09 12:31:26 MSK
Created attachment 1563 [details]
открытие файла через меню
Comment 7 Patsev Anton 2010-03-09 12:33:00 MSK
Created attachment 1564 [details]
Вот результат открытия файла через меню.

Не работает. Открывает пустой документ.

#lsb_release -a
LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description:    CentOS release 5.4 (Final)
Release:        5.4
Codename:       Final

#wine --version
WINE@Etersoft 1.0 Local 1.0.12-eter3/1
Comment 8 Vitaly Lipatov 2010-03-13 00:34:27 MSK
Раз не работает, переоткрываю.
Сможете сделать второй строкой в /usr/bin/wine
чтото типа 
echo "$@" >/tmp/run
и запустить через меню и прислать что в файл записалось?
Ну не видим мы, где ошибка.
Comment 9 Patsev Anton 2010-03-22 08:05:01 MSK
#cat /tmp/run 
C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE /home/test/Desktop/Книга1.xls
Comment 10 Andrey Vusik 2010-03-22 20:12:30 MSK
(In reply to comment #9)
> #cat /tmp/run 
> C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE
> /home/test/Desktop/Книга1.xls
> 

Открываю в папке с программой существующий файл:
wine EXCEL.EXE Пример.xls 
Всё корректно.
Это ведь тоже самое, я думаю.
Comment 11 Vitaly Lipatov 2010-03-22 20:15:30 MSK
(In reply to comment #10)
> (In reply to comment #9)
> > #cat /tmp/run 
> > C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE
> > /home/test/Desktop/Книга1.xls
> > 
> 
> Открываю в папке с программой существующий
> файл:
> wine EXCEL.EXE Пример.xls 
> Всё корректно.
> Это ведь тоже самое, я думаю.
Проблема в преобразовании путей. 
Проверять надо так:
wine "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" "/home/test/Desktop/Книга1.xls"
Comment 12 Andrey Vusik 2010-03-22 21:24:52 MSK
Бутылка office/mso/mso2003
То что внутри открывается корректно:
wine "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" "dosdevices/123.xls"
а к примеру
wine "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" "/var/ftp/tmp/night/123.xls" - нет, создаёт новый файл.
Comment 13 Andrey Vusik 2010-03-22 21:25:57 MSK
Created attachment 1587 [details]
log
Comment 14 Andrey Vusik 2010-03-23 16:57:49 MSK
В  CAD 1.1.0-eter9/5 такой проблемы нет
Comment 15 Денис Баранов 2010-04-02 00:16:31 MSD
Проверил на 1.0.12 eter4.1/eter3
на 1.0.11, на 1.0.10 и на wwo - проблема проявляется.
Нужно разбираться что там с преобразованиями путей.
Comment 16 Vitaly Lipatov 2010-04-02 21:52:43 MSD
Очень интересно, как это в CAD её нет.
Давайте проверим ещё раз другим человеком.
Если нет, тогда просто ждём следующего релиза.
Вообще документы должны открываться просто через
wine /путь/к/документу.doc
Comment 17 Илья Шпигорь 2010-05-04 17:03:32 MSD
(In reply to comment #12)
> Бутылка office/mso/mso2003
> То что внутри открывается корректно:
> wine "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE"
> "dosdevices/123.xls"
> а к примеру
> wine "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE"
> "/var/ftp/tmp/night/123.xls" - нет, создаёт новый файл.

По-моему это совершенно правильное поведение wine. 
Wine не может преобразовать Linux'овый путь:

/var/ftp/tmp/night/123.xls

в виндовый. А если создать символьную ссылку в dosdevices с именем какого-нибудь диска на /var/ftp/tmp/night/, то все корректно найдется. Должно работать если запускать например так:

wine "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" "X:\var\ftp\tmp\night\123.xls"

где X: - ссылка на / в dosdevices.

Ситуация осложняется тем, что путь парсит сам MSO, а не wine. Поэтому для MSO надо указывать еще и имя диска.

А что в данной баге должен сделать я?
Comment 18 Vitaly Lipatov 2010-05-04 17:06:58 MSD
(In reply to comment #14)
> В  CAD 1.1.0-eter9/5 такой проблемы нет

Протестируйте на eterhack, пожалуйста — запуск вида
$ wine notepad "/linux/путь"
Comment 19 Илья Шпигорь 2010-05-04 17:22:12 MSD
Кстати, WINE@Etersoft 1.0 CAD 1.1.0-eter8/5 создает в dosdevices ссылку на домашний каталог пользователя.

  d: -> /home/shpigor/

eter-1.0.12 так не делает.
Comment 20 Денис Баранов 2010-05-04 17:41:18 MSD
Не правда, сейчас специально создал новую бутылку, в которой успешно создалась ссылка d: -> /home/baraka/

(In reply to comment #19)
> Кстати, WINE@Etersoft 1.0 CAD 1.1.0-eter8/5 создает в dosdevices
> ссылку на домашний каталог пользователя.
> 
>   d: -> /home/shpigor/
> 
> eter-1.0.12 так не делает.
> 

Comment 21 Илья Шпигорь 2010-05-07 15:37:20 MSD
(In reply to comment #18)
> Протестируйте на eterhack, пожалуйста — запуск
> вида
> $ wine notepad "/linux/путь"

Проверил на текущем eterhack:
wine notepad /home/shpigor/tmp/tasks.txt 

и так:
wine notepad //home//shpigor//tmp//tasks.txt 

В обоих случаях файл не найден. Несмотря на то, что ссылка z: -> / в dosdevices создается при созданиии .wine.
Comment 22 Илья Шпигорь 2010-05-07 15:39:00 MSD
> В обоих случаях файл не найден. 

Думаю, что проблема в том, что путь опять же парсит notepad, который о линукс путях ничего не знает.
Comment 23 Vitaly Lipatov 2010-05-28 01:53:11 MSD
Сделал исправление, завтра будем включать в сборку.
Comment 24 Денис Баранов 2010-05-31 21:37:39 MSD
На новой сборке не исправлено.
Пытался:
wine notepad /home/baraka/Desktop/list.txt
wine notepad "/home/baraka/Desktop/list.txt"
wine notepad //home//baraka//Desktop//list.txt
Не работает не в одном из случаев.
Comment 25 Денис Баранов 2010-07-13 17:52:00 MSD
WINE@Etersoft 1.0.12 eter6.12/eter11 ситуация не изменилась.
Comment 26 Денис Баранов 2010-12-01 17:52:16 MSK
WINE@Etersoft 1.0.12 eter7.27/14.1 ничего не изменилось.
Comment 27 Vitaly Lipatov 2010-12-21 16:40:31 MSK
Для исправления нужно два коммита:
commit 9e12a5a219b02189370f883448a7102cd15551a1
enable path translation to win (eterbug #4933)

commit edb04d5d670b51c0925de68deca3323352d8577c
fix run with spaced params (eterbug #5657)
Comment 28 Vitaly Lipatov 2010-12-22 23:57:35 MSK
и третий коммит
commit 8791f22db316e894d65dd2d98c1a0f70368af5ae
Author: Vitaly Lipatov <lav@etersoft.ru>
Date:   Tue Dec 21 16:53:13 2010 +0300

    use path translation to win for start command also (eterbug #4933)

Их надо внести в eterwine (я не там начал исправлять) и в 1.0.12
Comment 29 Vitaly Lipatov 2010-12-23 13:40:51 MSK
Внёс в eterwine

И ещё последний патч:
commit f160a7067b1128933bc716b52cd84408e0cc64ad
Author: Vitaly Lipatov <lav@etersoft.ru>
Date:   Thu Dec 23 13:32:29 2010 +0300

    fix support for exe.so (eterbug #4933)
Comment 30 Денис Баранов 2010-12-23 23:01:39 MSK
Проверил на 
wine-etersoft-1.3.9-eter1.2mdv
wine-etersoft-school-1.7.0-eter1mdv

wine notepad /home/guest/tmp/qwe.txt

Документ корректно открылся.
Comment 31 Александр Морозов 2011-01-11 21:22:16 MSK
Перенёс преобразование путей из скрипта в kernel32.
Comment 32 Vitaly Lipatov 2011-01-12 17:18:39 MSK
Можно проверять ещё раз, с новыми патчами.
Comment 33 Денис Баранов 2011-01-13 20:34:36 MSK
Работает.
WINE@Etersoft School 1.7.0 eter 2/4
Принято.
Comment 34 Денис Баранов 2011-02-06 16:10:56 MSK
Принято.
WINE@Etersoft 1.0.12 eter8/18
Закрываю.