Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 382 - Не работает msiexec   Make a simular bug
Summary: Не работает msiexec
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Общее (show other bugs)
Version: 1.0.4
Hardware: PC All
: P2 major
Target Milestone: ---
Assignee: Константин Кондратюк
QA Contact: Vitaly Lipatov
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 190 488
  Show dependency treegraph
 
In work:
Reported: 2006-10-31 15:15 MSK by Константин Кондратюк
Modified: 2009-04-26 13:32 MSD (History)
1 user (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments
(1.38 KB, patch)
2010-11-18 03:58 MSK, Константин Кондратюк
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Константин Кондратюк 2006-10-31 15:15:35 MSK
msiexec не работает, ссылаясь на неправильные параметры командной строки. 
При этом установка msi-пакетов всё же возможна с помощью msiexec /i 
Простой способ воспроизведения: wine start <пакет.msi>
Comment 1 Константин Кондратюк 2006-12-13 20:45:06 MSK
Created attachment 77 [details]
 


Происходит ошибка при установке (wine c:\downloads\InstMsiA.exe).
Вызывается функция GetCORSystemDirectory, которая не реализована в wine.
Патч добавляет эту функцию, но всё равно происходит падение. 
При блокировании библиотеки mscoree.dll ошибка не проявляется. 

Временное решение - исключать mscoree.dll из сборки (или блокировать).
Comment 2 Константин Кондратюк 2006-12-13 20:48:03 MSK
Также существует какая-то зависимость от того, какая версия windows включена в winecfg. Нужно попробовать разные варианты, но желательно, чтобы по умолчанию стояла 2000 или XP.
Comment 3 Константин Кондратюк 2006-12-14 11:40:13 MSK
Получилось установить msiexec с конфигурацией XP по умолчанию.
1. Нужно добавить msiexec.exe в список приложений и установить для него версию win98.
2. Блокировать mscoree.dll в приложениях по умолчанию.

Нужно включить эти изменения в 1.0.5. Тогда можно будет перевести багу в состояние LATER. Ситуацию с mscoree.dll нужно проконтролировать в следующих версиях wine.
Comment 4 Константин Кондратюк 2006-12-14 15:07:45 MSK
Добавление msiexec в список приложений - лишь частное решение. Другие установщики не работают, ссылаясь на повреждённый Installer.
В 1.0.5 оставляем версию windows по умолчанию 98.
mscoree.dll исключаем из сборки.
Comment 5 Vitaly Lipatov 2007-03-12 21:59:42 MSK
Нужно разобраться, почему не работает wine start файл.msi
и исправить это.
У меня подозрение, что вайновскому msiexec ключ /i не нужен, а виндовому - нужен. Я даже уверен в этом, потому что через winexp - работает.
Кстати, в релизе в winexp ошибка, связанная именно с msi. на сервере я её исправил.
Comment 6 Vitaly Lipatov 2007-03-15 16:11:18 MSK
Нужно устранить причину, поскольку в документации описан способ
wine start файл.msi
Comment 7 Константин Кондратюк 2007-05-08 18:21:38 MSD
И вайновский, и виндовый msiexec работают только с ключом /i. Без него вайновский msiexec сообщает: Product code on commandline unimplemented as of yet

Через wine start и просто через wine должен запускаться именно msiexec /i. Что и попробую сделать...
Comment 8 Константин Кондратюк 2007-05-10 11:32:06 MSD
Строка wine.inf, отвечающая за кусок реестра с msiexec /i

HKCR,Msi.Package\shell\Open\command,,2,"msiexec /i %1"

Запись в реестре:

[Software\\Classes\\Msi.Package\\shell\\Open\\command] 1166800110
@="\"C:\\windows\\system32\\msiexec.exe\" /i \"%1\" %*"

Запись в реестре, с которой начинает работать через wine start:

[Software\\Classes\\Msi.Package\\shell\\Open\\command] 1166800110
@="\"C:\\windows\\system32\\msiexec.exe\" /i \"%1\""
Comment 9 Константин Кондратюк 2007-05-10 11:37:38 MSD
Также работает строка без "лишних" кавычек:
@="C:\\windows\\system32\\msiexec.exe /i %1"
Comment 10 Константин Кондратюк 2007-05-10 13:39:16 MSD
Строка в Windows аналогична той, что заносится в реестр в закрытой части. Т.е. wine неправильно обрабатывает строку (в открытой части строка имеет вид "msiexec /i %1" и проблема незаметна).
Comment 11 Константин Кондратюк 2007-05-10 17:37:34 MSD
Убрал часть командной строки, содержащуюю пустой параметр "".
Решение не идеальное, но пока сойдёт. Надеюсь, скоро решение будет более правильным и кардинальным...
Comment 12 Vitaly Lipatov 2007-05-10 22:56:11 MSD
Нужно ещё:
1. багу повесить
2. патч на wine.inf сделать
Comment 13 Vitaly Lipatov 2008-09-18 20:30:19 MSD
Можешь поставить точку на этой баге?