Summary: | Гарант F1.Сервер: ошибка при установке | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Денис Баранов <baraka> |
Component: | Установка программ / MSI | Assignee: | Anton Rudnev <mibori> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | major | ||
Priority: | P4 | CC: | kondratyuk, lav, night |
Version: | 1.0.9 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 769, 3000, 3195, 3493 | ||
Attachments: | Дерево действий установки |
Description
Денис Баранов
2008-12-09 15:12:33 MSK
(In reply to comment #0) > При установке Гарант как Сервер, > инсталяция заканчивается ошибкой об > установке. В консоли: > err:rpc:I_RpcReceive we got fault packet with status 0x3e6 > err:msi:ITERATE_InstallService Failed to create service > L"GARANT.Application.Server": 1783 > err:msi:ITERATE_StartService Failed to open service > L"GARANT.Application.Server" > err:msi:ITERATE_Actions Execution halted, action L"InstallFinalize" returned > 1627 > err:msi:ITERATE_Actions Execution halted, action L"ExecuteAction" returned 1627 > крайне вероятно, что это повтор 807 но с уверенностью сказать не могу. > > крайне вероятно, что это повтор 807 > но с уверенностью сказать не могу. > с учетом патчей в 807, по сравнению с первым комментарием, бага стала воспроизводится точно так же, как и 807. <wine@cellar bottle garant/eterbug-3098>$ wwxp f1setup.exe fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet fixme:msi:msi_unimplemented_action_stub DeleteServices -> 1 ignored L"ServiceControl" table values fixme:msi:msi_unimplemented_action_stub RemoveShortcuts -> 10 ignored L"Shortcut" table values fixme:msi:msi_unimplemented_action_stub RemoveFolders -> 36 ignored L"CreateFolder" table values wine: Unhandled page fault on read access to 0x00000000 at address 0xb7e04a73 (thread 0037), starting debugger... <wine@cellar bottle garant/eterbug-3098>$ err:menubuilder:InvokeShellLinker failed to build the menu err:menubuilder:InvokeShellLinker failed to build the menu err:menubuilder:InvokeShellLinker failed to build the menu err:menubuilder:InvokeShellLinker failed to build the menu err:menubuilder:InvokeShellLinker failed to build the menu err:menubuilder:InvokeShellLinker failed to build the menu err:menubuilder:InvokeShellLinker failed to build the menu err:menubuilder:InvokeShellLinker failed to build the menu err:menubuilder:InvokeShellLinker failed to build the menu а вот как воспроизводится на данный момент 807 -> http://bugs.etersoft.ru/show_bug.cgi?id=807#c34 очень похоже. я попробую построить дерево действий, основанное на трейсе функции ACTION_PerformAction, чтобы понять общую картину установки. Created attachment 970 [details]
Дерево действий установки
(In reply to comment #3) > Created an attachment (id=970) [details] > Дерево действий установки > это полная картинка установки. для просмотра русского нужно использовать koi-8r строчки в дереве имеют следующее значение ... -- предыдущие действия action имяДействия begin standart action -- запуск действия ... action имяДействия begin custom action -- запуск действия ... -- вложенные действия action ИмяДействия end -> результат -- успешное завершение ... action ИмяДействия end -> результат -- успешное завершение ... -- следующие действия standart action - действие, обработчик которого реализован у нас в msi custom action - действие, обработчик которого находится обычно в какой-либо .dll в дистрибутиве инсталлируемой программы (которая кидается в виде .tmp-файла в windows\temp и затем оттуда запускается функция) данное дерево можно сравнить с деревом установки fr9 (см. http://bugs.etersoft.ru/show_bug.cgi?id=807#c35) видно, что и в том и в другом случае, в качестве действия в функцию ACTION_PerformAction попадает нечто с именем "[имя=значение;имя=заначениe;...]" далее ACTION_PerformAction не распознает его как standart action и запускает некий обработчик (откуда он берется, я пока не знаю). Возникает два вопроса. Должно ли возникать такое действие? Если да, то как правильно оно должно отрабатываться (это строчка похожа на список переменных окружений, которые должны быть установлены перед исполнением следующего действия, но анализ установки FineReader 9 под Windows указывает на то, процесс, гарантированно запускаемый следующем действием имеет старое окружения: т. е. эта последовательность к окружению не имеет никакого отношения), и эта отработка должна выполнятся внутри вызова ACTION_PerformAction. Если же нет, то эта строчка не должна интерпретироваться в качестве действия, а должна интерпретироваться как-то раньше? чем произойдет вызов ACTION_PerformAction. Простое игнорирование такого действия результатов не даёт (см. http://bugs.etersoft.ru/show_bug.cgi?id=807#c32) > custom action - действие, обработчик которого > находится обычно в какой-либо .dll в > дистрибутиве инсталлируемой программы > (которая кидается в виде .tmp-файла в windows\temp и > затем оттуда запускается функция) это является частным случаем, с которым обычно встречаешься (и который ошибочно у нас происходит) все типы действий описаны по ссылке http://msdn.microsoft.com/en-us/library/aa372048(VS.85).aspx на данный момент понятно, что действие, которое должно выполнятся имеет номер 51 и описано по ссылке http://msdn.microsoft.com/en-us/library/aa368237(VS.85).aspx действие, которое выполняется фактически, имеет номер 1 ( описано http://msdn.microsoft.com/en-us/library/aa368075(VS.85).aspx ) имя действия и как оно должно выполняться записаны в таблице CustomAction ( http://msdn.microsoft.com/en-us/library/aa368062(VS.85).aspx ) У нас ветвление по типам действия происходит в функции ACTION_CustomAction там же и происходит обработка действия 51 (в нашем ошибочном случае оно распознается как действие 1) надо проверить две вещи 1) почему в функцию ACTION_PerformAction передается поле Target, вместо поля Action (таблицы CustomAction) 2) почему в функции ACTION_CustomAction тип действия распознается как 1 вместо 51 (поле Type таблицы CustomAction) возможно второе является следствием первого. Кажется, что проблема, описанная в последних комментариях перестала проявляться. Патч http://lists.etersoft.ru/pipermail/wine-patches/2009-January/000180.html поправляет мой собственный патч http://lists.etersoft.ru/pipermail/wine-patches/2008-December/000138.html После него, установка серверной части гаранта, как и клиентской части, завершается успешно. Проверил на последней версии eter41\eter17 установка проходит корректно. |