Bug 3773

Summary: 1c81: При установке не выбирается язык
Product: WINE@Etersoft Reporter: Денис Баранов <baraka>
Component: Установка программ / MSIAssignee: Dmitry Timoshkov <dtimoshkov>
Status: CLOSED INVALID QA Contact: Svetlana Zhukova <svzhu>
Severity: minor    
Priority: P4 CC: kondratyuk, lav, olezha
Version: 2.0   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on: 3774    
Bug Blocks: 8900    
Attachments: Код, соответствующий действию customFillDefLangsList

Description Денис Баранов 2009-04-03 19:08:21 MSD
При установке через wine, есть предложение выбора языка, но ни одного нет
Comment 1 Vitaly Lipatov 2009-04-04 01:08:22 MSD
Насколько я помню, язык там запрашивается через что-то типа vbscript. Который, возможно, не работает в winexp.
Comment 2 Виталий Перов 2009-04-06 14:24:22 MSD
При запуске через wine98 выбор языка отображается.

Думаю это связано с багой #3774
Comment 3 Виталий Перов 2009-04-06 17:14:08 MSD
Багу 3774 решить скорее всего не удастся, поэтому надо найти другой способ получения языка.

Для начала надо найти то место в msi, где этот язык запрашивается.

Пробовал запускать не .exe а .msi со включенным логом. Лог получается слишком краткий

Со сторонней msi.dll не запускается. А если бы запускалось, то вряд ли бы там было получение языка при помощи vbscript.
Comment 4 Виталий Перов 2009-04-06 18:12:43 MSD
при запуске через wine98 был получен лог.
К языку относится:
Action 17:18:04: CustomSetup. Dialog created
Action start 17:18:05: customSelectLangFeatures.
Action ended 17:18:05: customSelectLangFeatures. Return value 0.
Action start 17:18:05: customFillDefLangsList.
Action ended 17:18:05: customFillDefLangsList. Return value 0.


Используя программу Orca можно посмотреть, что действию customFillDefLangsList соответствует определённый код (прикреплю отдельным файлом)

Comment 5 Виталий Перов 2009-04-06 18:13:54 MSD
Created attachment 1129 [details]
Код, соответствующий действию customFillDefLangsList
Comment 6 Виталий Перов 2009-04-07 18:25:59 MSD
Как выяснилось, кон написан на VisualBasic, и видимо, проблема не внутри кода, а в самом выполнении этого кода

CustomAction имеет тип 38. (Выполнение VbScript).
Обрабатывается функцией HANDLE_CustomType37_38, которая вызывает do_msidbCustomActionTypeScript
Comment 7 Виталий Перов 2009-04-07 19:15:40 MSD
далее создаётся поток, в итоге выполняется call_script, которая используя интерфейсы из mshtml, выполняет скрипт:

hr = IActiveScript_QueryInterface(pActiveScript, &IID_IActiveScriptParse, (void **)&pActiveScriptParse);
hr = IActiveScript_AddNamedItem(pActiveScript, szSession, SCRIPTITEM_ISVISIBLE);
и др.,

Comment 8 Виталий Перов 2009-04-07 19:37:56 MSD
Ещё хотелось бы отметить, что причины ошибки другая, чем в баге #3774.
В баге #3774 при установке WINDOWS_VERSION="win98" vbScript прекрасно работал.
Сдесь же отличий при изменении версии windows нет.


Кажется причина где-то сдесь:

fixme:msi:AutomationObject_GetIDsOfNames Unknown member L"FeatureInfo", clsid {000c109e-0000-0000-c000-000000000046}
err:msi:MsiActiveScriptSite_OnScriptError script error: L"Object doesn't support this property or method: 'Session.FeatureInfo'"

Если посмотреть в msiserver.idl, можно увидеть, что интерфейс Session действительно не имеет свойства/метода FeatureInfo.

Можно посмотреть стороннюю msi.dll с помощью oleview. Там интерфейс Session имеет метод FeatureInfo.

Кроме FeatureInfo, в Session отсутствуют и многие другие методы.

В msiserver.idl объявлен интерфейс FeatureInfo. Возможно удастся его добавить в Session
Comment 9 Виталий Перов 2009-04-07 20:22:40 MSD
Добавил в .idl соответствующий код. Ситуация немного изменилась:

fixme:msi:AutomationObject_Invoke Method 22, L"FeatureInfo" wflags 3 not implemented, clsid {000c109e-0000-0000-c000-000000000046}
err:msi:MsiActiveScriptSite_OnScriptError script error: L"Object doesn't support this property or method: 'Session.FeatureInfo'"

Во-первых е все методы и переменные FeatureInfo объявлены.
Ещё никак не могу найти места, где эти методы должны быть реализованы.
Посмотрел другие, соседние интерфейсы - их реализации так же не нашёл.
Comment 10 Виталий Перов 2009-04-07 20:44:41 MSD
В описание FeatureInfo добавил свойство Attributes.

Остались неописанными методы Title и Description. Но где их взять - я не знаю. Внутри msi.dll их нет (и не должно быть)
Comment 11 Денис Баранов 2009-04-09 21:08:13 MSD
Пока решили выпустить релиз кандидат с рекомендацией устанавливать wine98.
Comment 12 Константин Кондратюк 2009-04-10 00:23:37 MSD
А разве отсутствие языка мешало установке? Пустой список был, это да, но сама установка корректна ведь?
Comment 13 Vitaly Lipatov 2009-09-07 18:39:14 MSD
Снимаю с багфикса, нет обоснования необходимости выбора языка.
Comment 14 Виталий Перов 2010-03-06 17:56:47 MSK
проверил на eterhack 1.1.37. Бага осталась
Comment 15 Виталий Перов 2010-09-30 15:51:01 MSD
Проверил в eterhack 1.3.3 и в wwo. Поведение идентичное:
Теперь там не пустое поле, а поле с одним пунктом "Системные установки".
В eter-1.0.12 по-прежнему пустое поле.

Можно попробовать поискать откуда берётся строка "Системные установки" возможно бага будет где-то рядом
Comment 16 Vitaly Lipatov 2012-01-18 03:04:37 MSK
Откладываем, bugs@ в ближайшее время делать ничего не будет.
Comment 17 Vitaly Lipatov 2012-10-10 13:44:47 MSK
Надо проверить, может быть уже работает?
Comment 18 Svetlana Zhukova 2012-10-15 15:48:24 MSK
При установке можно выбрать "дополнительный интерфейс"-"язык". Некий список отображается,можно выбрать хоть все одновременно или не выбирать ни одного, все равно установится русский интерфейс.В конфигураторе в параметрах можно выбрать любой язык,все равно 1с запустится на русском.
Comment 19 Svetlana Zhukova 2012-10-15 15:49:05 MSK
wine@eter-2 bottle bugs/3773
WINE@Etersoft SQL 2.0.2-eter16/4
Comment 24 Vitaly Lipatov 2013-11-14 15:08:50 MSK
Нет необходимости решать.
Comment 25 Олег Шевченко 2024-04-26 20:06:35 MSK
Задача по релизу W@E 2.0
Уже давно не актуально, закрываю.