Bug 117

Summary: Не устанавливается ПАРУС 8
Product: WINE@Etersoft Reporter: Vitaly Lipatov <lav>
Component: Установка программ / MSIAssignee: 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
 
Comment 1 Виталий Перов 2008-10-29 18:25:49 MSK
Воспроизвёл в бутылке 'parus'

Во втором диалоге необходимо указать файл лицензии. Он есть.
При нажатии кнопки "Обхор", выборе нужного файла в поле "Файл лицензии" всё-равно остаётся значение <no licence>. Дальше установка не идёт
Comment 2 Виталий Перов 2008-11-19 20:44:25 MSK
Выяснил,что при нажатии на кнопку "Обзор" вызывается 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_______________________________________________________________________
Comment 3 Виталий Перов 2008-11-19 22:16:35 MSK
После завершения 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.
Проверил все места, откуда она может вызываться - нужного так и не нашёл.
Падение в этой функции не помогает т.к она вызывается ещё до выбора лицензии
Comment 4 Виталий Перов 2008-11-19 22:36:44 MSK
В данном месте происходит примерно 10-й вызов функции. Осуществляется он из:
msi_dialog_oncommand
Comment 5 Виталий Перов 2008-11-28 15:26:01 MSK
выполняется:
control->handler( dialog, control, param );
msi_dialog_evaluate_control_conditions( dialog );

Первая строка в итоге вызывает функцию в пользовательской dll'ке, которая показывает диалог, и при выборе правильного файла лицензии должна изменять поле Edit.

При вызове второй строки, по идее, оно должно стать enabed с правильным значением
Comment 6 strike1984 2009-03-20 08:45:00 MSK
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
Comment 7 Vitaly Lipatov 2012-01-13 21:48:33 MSK
Нет исполнителя bugs@, решать некому пока. Решили отложить.
Comment 8 Олег Шевченко 2024-03-20 23:25:20 MSK
Неактуальная задача 15-летней давности.
Над проектом никаких работ не ведем, так что закрываю.