| Summary: | Не устанавливается ПАРУС 8 | ||
|---|---|---|---|
| Product: | WINE@Etersoft | Reporter: | Vitaly Lipatov <lav> | 
| Component: | Установка программ / MSI | Assignee: | BUGS@Etersoft <bugs> | 
| Status: | CLOSED LATER | QA Contact: | Vitaly Lipatov <lav> | 
| Severity: | major | ||
| Priority: | P4 | CC: | kondratyuk, olezha, vitperov | 
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Заявки RT: | Связано с: | ||
| Дата напоминания: | |||
| Bug Depends on: | |||
| Bug Blocks: | 2865, 3000 | ||
| Attachments: | Установка Парус 8 | ||
| 
        
          Description
        
        
          Vitaly Lipatov
        
        
        
        
          2006-05-07 21:04:53 MSD
        
       Воспроизвёл в бутылке 'parus' Во втором диалоге необходимо указать файл лицензии. Он есть. При нажатии кнопки "Обхор", выборе нужного файла в поле "Файл лицензии" всё-равно остаётся значение <no licence>. Дальше установка не идёт Выяснил,что при нажатии на кнопку "Обзор" вызывается GetOpenFileNameA, которая показывает диалог выбора файла.
Если устроить там падение, то программа не завершается, выводится только
err:msi:ACTION_CallDllFunction Custom action (L"C:\\windows\\temp\\msiba4b.tmp":L"GetLicence") caused a page fault: c0000005
Вызов сторонней функции:
__TRY
{
    r = fn( hPackage );
}
Функция GetLicence из сторонней dll в процессе работы запрашивает:
fixme:msi:ACTION_CallDllFunction Custom action (L"C:\\windows\\temp\\msi3a02.tmp":L"GetLicence")
fixme:msi:ACTION_CallDllFunction __BEFORE_______________________________________________________________________
fixme:msi:MSI_SetPropertyW 0x159df8 L"_GovernmentServ" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_GovernmentServ"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_CivilServList" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_CivilServList"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_CivilServ" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_CivilServ"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_Salary" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_Salary"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_Hauler" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_Hauler"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_Balance" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_Balance"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_BudgAcnt" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_BudgAcnt"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_FactCost" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_FactCost"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_FinMan" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_FinMan"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_Client" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_Client"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_AZS" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_AZS"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_FUNDS" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_FUNDS"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_Realiz" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_Realiz"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_AccountIAS" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_AccountIAS"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_Account" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_Account"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_OptionsWizard" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_OptionsWizard"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_AdminTasks" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_AdminTasks"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_AdminReport" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_AdminReport"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_AdminRDA" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_AdminRDA"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_AdminRepl" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_AdminRepl"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_AdminPerform" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_AdminPerform"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_AdminData" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_AdminData"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_Admin" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_Admin"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_PublicServ" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_PublicServ"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_Pensions" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_Pensions"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_Persons" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_Persons"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_Orders" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_Orders"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_BudgPrs" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_BudgPrs"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_BudgFin" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_BudgFin"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_Budgeting" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_Budgeting"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_PurposePlanning" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_PurposePlanning"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_BudgRlz" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_BudgRlz"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_BudgDelivery" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_BudgDelivery"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_EquipSrv" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_EquipSrv"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_CRM" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_CRM"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_Belongs" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_Belongs"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_BudgSlr" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_BudgSlr"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_Designer" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_Designer"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_SEAccount" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_SEAccount"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_SERealiz" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_SERealiz"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_SEClient" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_SEClient"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_SESalary" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_SESalary"
fixme:msi:MSI_SetPropertyW 0x159df8 L"_SEPersons" L"0"
fixme:msi:MSI_GetPropertyW returning (null) for property L"_SEPersons"
fixme:msi:ACTION_CallDllFunction __AFTER_______________________________________________________________________
Если вместо выбора файла нажать на Cancel, то выполняются почти те же действия, только добавляется:
fixme:msi:MSI_SetPropertyW 0x159df8 L"DisableFeatures" L"GovernmentServ\r\nCivilServList\r\nCivilServ\r\nSalary\r\nHauler\r\nBalance\r\nBudgAcnt\r\nFactCost\r\nFinMan\r\nClient\r\nAZS\r\nFUNDS\r\nRealiz\r\nAccountIAS\r\nAccount\r\nOptionsWizard\r\nAdminTasks\r\nAdminReport\r\nAdminRDA\r\nAdminRepl\r\nAdminPerform\r\nAdminData\r\nAdmin\r\nPublicServ\r\nPens"...
fixme:msi:ACTION_CallDllFunction __AFTER_______________________________________________________________________
После завершения GetLicense вызывается: race:msi:msi_dialog_evaluate_control_conditions 0x16cac8 L"UserRegistrationDlg" trace:msi:MSI_DatabaseOpenViewW L"SELECT * FROM ControlCondition WHERE `Dialog_` = 'UserRegistrationDlg'" 0x32f478 trace:msi:MSI_ParseSQL Parse returned 0 trace:msi:MSI_ViewExecute 0x173668 (nil) trace:msi:MSI_ViewFetch 0x173668 0x32f438 trace:msi:msi_view_get_row 0x126d80 0x1891a0 0 0x32f438 trace:msi:MSI_EvaluateConditionW L"LicenceCaption <> \"<no licence>\"" trace:msi:COND_GetString Got identifier L"LicenceCaption" trace:msi:MSI_DatabaseOpenViewW L"SELECT `Value` FROM `_Property` WHERE `_Property`='LicenceCaption'" 0x32ea54 trace:msi:MSI_ParseSQL Parse returned 0 trace:msi:MSI_ViewExecute 0x184158 (nil) trace:msi:MSI_ViewFetch 0x184158 0x32ea58 trace:msi:msi_view_get_row 0x126d80 0x182be0 0 0x32ea58 trace:msi:MSI_ViewClose 0x184158 trace:msi:msiobj_release object 0x184158 destroyed trace:msi:msiobj_release object 0x182c18 destroyed fixme:msi:MSI_GetPropertyW returning (null) for property L"LicenceCaption" trace:msi:MSI_DatabaseOpenViewW L"SELECT `Value` FROM `_Property` WHERE `_Property`='LicenceCaption'" 0x32e большой интерес вызывает функция msi_dialog_evaluate_control_conditions. Проверил все места, откуда она может вызываться - нужного так и не нашёл. Падение в этой функции не помогает т.к она вызывается ещё до выбора лицензии В данном месте происходит примерно 10-й вызов функции. Осуществляется он из: msi_dialog_oncommand выполняется: control->handler( dialog, control, param ); msi_dialog_evaluate_control_conditions( dialog ); Первая строка в итоге вызывает функцию в пользовательской dll'ке, которая показывает диалог, и при выборе правильного файла лицензии должна изменять поле Edit. При вызове второй строки, по идее, оно должно стать enabed с правильным значением Created attachment 1117 [details]
Установка Парус 8
Проходит запуск установки Парус 8.5.2.2, выбор лицензии, тип выборочная — Полная , выбираю Полная, указывается папка установки по умолчанию.
И останавливается установка, на Мастер готов начать установку системы. Кнопка далее не нажимается.
sh-3.2$ wine setup.exe 
err:msi:msi_dialog_set_font No font entry for L"{&DlgFont8}" 
err:msi:msi_dialog_set_font No font entry for L"{&DlgFont8}" 
err:msi:msi_dialog_set_font No font entry for L"{&DlgFont8}" 
err:msi:msi_dialog_set_font No font entry for L"{&DlgFont8}" 
err:msi:msi_dialog_set_font No font entry for L"{&DlgFont8}" 
err:msi:msi_dialog_set_font No font entry for L"{&DlgFont8}" 
fixme:msi:ControlEvent_SpawnWaitDialog Doing Nothing 
err:msi:msi_dialog_set_font No font entry for L"{&DlgFont8}" 
err:msi:msi_dialog_set_font No font entry for L"{&DlgFont8}" 
err:msi:msi_dialog_set_font No font entry for L"{&DlgFont8}" 
err:msi:msi_dialog_set_font No font entry for L"{&DlgFont8}" 
err:msi:msi_dialog_set_font No font entry for L"{&DlgFont8}" 
При нажатии отмена
выходит окно «вы действительно хотите завершить работу мастера
err:msi:msi_dialog_set_font No font entry for L"{&DlgFont8}" 
Нажимаю ДА. Появляется окно работа мастера завершена
err:msi:ITERATE_Actions Execution halted, action L"LicenseAgreementDlg" returned 1602 
err:msi:msi_dialog_set_font No font entry for L"{&DlgFont8}" 
#####################################################################
Непосредственно сам парус запустить удалось, скопировав из Win XP SP2, некоторые библиотеки и Microsoft XML Parser. См. приложение
Но отображаются только 2 меню: Файл и Справка.
$wine p8application.exe 
fixme:msvcrt:msvcrt_get_flags :unknown flag c not supported 
fixme:advapi:LsaOpenPolicy ((null),0x33c5a8,0x00000001,0x33c5c4) stub 
fixme:advapi:LsaClose (0xcafe) stub 
fixme:advapi:LsaOpenPolicy ((null),0x33cb80,0x00000001,0x33cb9c) stub 
fixme:advapi:LsaClose (0xcafe) stub 
fixme:advapi:LsaOpenPolicy ((null),0x33c5a8,0x00000001,0x33c5c4) stub 
fixme:advapi:LsaClose (0xcafe) stub 
fixme:advapi:LsaOpenPolicy ((null),0x33cb80,0x00000001,0x33cb9c) stub 
fixme:advapi:LsaClose (0xcafe) stub 
vl@mail:~/wine_c/Program Files/Парус Корпорация 8.5.2.2$ wine p8application.exe 
fixme:msvcrt:msvcrt_get_flags :unknown flag c not supported 
fixme:advapi:LsaOpenPolicy ((null),0x33c5a8,0x00000001,0x33c5c4) stub 
fixme:advapi:LsaClose (0xcafe) stub 
fixme:advapi:LsaOpenPolicy ((null),0x33cb80,0x00000001,0x33cb9c) stub 
fixme:advapi:LsaClose (0xcafe) stubНет исполнителя bugs@, решать некому пока. Решили отложить. Неактуальная задача 15-летней давности. Над проектом никаких работ не ведем, так что закрываю. |