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

Отработанное время:
Продуктивное время:
Bug 818 - Некорректная установка КОМПАС 3D 10   Make a simular bug
Summary: Некорректная установка КОМПАС 3D 10
Status: CLOSED FIXED
Alias: None
Product: КОМПАС 3D
Classification: Поддержка проектов
Component: Тестирование (show other bugs)
Version: v10
Hardware: PC ALT Linux
: P1 blocker
Target Milestone: ---
Assignee: Александр Морозов
QA Contact: Денис Баранов
URL:
Whiteboard:
Keywords:
: 3494 (view as bug list)
Depends on:
Blocks: 753 948 1733
  Show dependency treegraph
 
In work:
Reported: 2007-10-25 14:47 MSD by Виталий Булгаков
Modified: 2024-03-04 14:58 MSK (History)
7 users (show)

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


Attachments
скриншот (42.77 KB, image/png)
2010-11-18 03:58 MSK, Виталий Булгаков
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Виталий Булгаков 2007-10-25 14:47:54 MSD
Обходя ошибки с установкой КОМПАС в диалоговом режиме произвел установку вслепую:
wine msiexec  -i KOMPAS-3D_V9.msi /qn
Файловая структура КОМПАС формируется, пункты в меню KDE - Wine создаются. При попытке выполнить Меню KDE - Wine - Программы - АСКОН - КОМПАС 3D V9 - КОМПАС 3D V9 -выдается сообщение Cannot open HASP driver.
 Все компоненты драйвера HASP прилагаемого к Wine@Etersoft Local установлены, локальный ключ вставлен в USB, в сети Windows имеется запущенный менеджер лицензий с сетевым ключом, все проверки приведенные в документации http://etersoft.ru/content/view/56/1/#linux выдают положительный результат.
Comment 1 Виталий Булгаков 2007-10-30 18:11:57 MSK
Сообщение выдается потому, что исполняемый файл kompas.exe обработан утилитой envelope. Проверил, если исполняемый файл не обработан envelope, то КОМПАС запускается и получает лицензии с сетевого ключа.
Comment 2 Анатолий Лютин 2007-10-30 22:04:16 MSK
Не приходит сообщение WM_NOTIFY
Comment 3 Анатолий Лютин 2007-10-30 22:09:52 MSK
Ой. Комментарий не в эту багу :)
Comment 4 Vitaly Lipatov 2007-12-16 15:00:33 MSK
Без исполняемого файла и ключа мы вряд ли сможем определить проблему.
Нам для начала надо будет отделить проблемы с сетевым ключом от проблем с локальным.
Comment 5 Vitaly Lipatov 2008-03-25 22:23:07 MSK
Отправил письмо с запросом версии, на которой можно воспроизвести проблему.
Comment 6 Денис Баранов 2008-11-14 19:47:18 MSK
Компас 9 не устанавливается. Запускаю установку через winexp.. Начинается установка и прерывается не понятно на чем.. Завершается сообщением о том что установка не завершена.
Comment 7 Vitaly Lipatov 2009-04-08 17:06:59 MSD
Денис, какие проблемы по установке 1С остались?
Comment 8 Vitaly Lipatov 2009-04-09 18:36:43 MSD
По установке КОМПАС 10 конечно же.
Comment 9 Денис Баранов 2009-04-09 19:26:07 MSD
На последней сборке eter17/eter11 Установка КОМПАС 10  заканчивается неудачей
если запускать так wine msiexec  -i KOMPAS-3D_V10.msi, то в консоли следующие ошибки, после которых установка прекращается.

err:msi:ACTION_InstallFiles compressed file wasn't extracted (L"C:\\Program Files\\ASCON\\KOMPAS-3D V10\\RelNotes.RTF")
err:msi:ITERATE_Actions Execution halted, action L"InstallFinalize" returned 1603
err:msi:ITERATE_Actions Execution halted, action L"ExecuteAction" returned 1603
Comment 10 Виталий Перов 2009-04-17 18:47:52 MSD
Очень похоже на багу #2410. Буду разбираться
Comment 11 Виталий Перов 2009-04-17 19:42:47 MSD
Ещё есть сходство с #2746.

Проверил. Бага воспроизводится. Вообще не распаковывается куча файлов.
Последние строки лога:

fixme:msi:installfiles_cb Skipping extraction of L"_E7EEA86B5FB44C199D61C93C95E291CD"
fixme:msi:installfiles_cb Skipping extraction of L"_B76376193BEF4296818E4FF6158A1642"
fixme:msi:installfiles_cb Skipping extraction of L"_57C03111E95C4CBB8DE8F6396B9E3065"
fixme:msi:installfiles_cb Skipping extraction of L"_185C5C6CF1D64477AFFB45BF5E4A03B9"
fixme:msi:installfiles_cb Skipping extraction of L"_DBE377771F714BCF9BDDC158EA5F687C"
fixme:msi:installfiles_cb Skipping extraction of L"_23AAB5D461A64D54A21136B7D5FB2B26"
fixme:msi:installfiles_cb Skipping extraction of L"_B2C65270965D4A68B6F718C7320F5226"
fixme:msi:installfiles_cb Skipping extraction of L"kAPI2D5COM.TLB"
fixme:msi:installfiles_cb Skipping extraction of L"kAPI5.TLB"
fixme:msi:installfiles_cb Skipping extraction of L"kAPI7.TLB"
fixme:msi:installfiles_cb Skipping extraction of L"kGAX.TLB"
fixme:msi:installfiles_cb Skipping extraction of L"ksConstants.TLB"
err:msi:ACTION_InstallFiles compressed file wasn't extracted (L"C:\\Program Files\\ASCON\\KOMPAS-3D V10\\Bin\\kAPI2D5COM.TLB")
err:msi:ITERATE_Actions Execution halted, action L"InstallFinalize" returned 1603
err:msi:ITERATE_Actions Execution halted, action L"ExecuteAction" returned 1603
Comment 12 Виталий Перов 2009-04-17 20:06:01 MSD
if (f->state != msifs_missing && f->state != msifs_overwrite)
        {
            FIXME("Skipping extraction of %s\n", debugstr_w(file));
            return FALSE;
        }

Похоже, что сообщения появляются потому, что данные файлы уже существуют.
Comment 13 Виталий Перов 2009-04-20 22:03:15 MSD
Пытаюсь определить версию, с которой программа перестала работать.
Пока дошёл до 1.0.10-eter5. Там установка всё ещё не работает
Comment 14 Виталий Перов 2009-05-08 22:17:41 MSD
Примерно до версии 1.0.9-eter 16, wine уже не компиллируется.

Ошибка исправляется патчем:
commit de251e1c62651d8160b340a4fb9d0f9834a8e538
Author: Shunichi Fuji <palglowr@gmail.com>
Date:   Wed Sep 3 20:14:17 2008 +0900

    gdi32: Adjust FT_MulFix function to Freetype cvs head.



В версии eter-.0.9rc5-school 0.7 установка компаса Работает!!!
Comment 15 Виталий Перов 2009-05-12 18:54:22 MSD
Немного локализовал проблему.
Ошибка появляется между коммитом 9cdc2248a4c25bc39f7b983754d93c30247a111b update spec ( релиз 1.0.9 alt18) (там ошибки ещё нет)

и e83d5d41adb2dedfcf6bdf803aa6672dc22b131f add missed header (незадолго до 1.0.9eter20) (там ошибка уже есть).

В промежутке между ними куча патчей из ветки pure (ни одного нашего).
Как перемещаться по патчам из pure, при этом оставаясь в ветке eterhack -мне пока ещё не ясно. Откатывать/добавлять по-одному невозможно - их слишком много.

Comment 16 Виталий Перов 2009-05-12 21:03:12 MSD
Появилась идея - самому реализовать некое подобие git bisect.

алгоритм примерно такой: 
1) задаются id начала и конца проверки (good и bad).
2) с помощью git log считается количество коммитов между ними и находится средний коммит.
3) с помощью git diff находится разница от bad до этого коммита.
4) разница прикладывается в виде патча. Таким образом мы оказываемся в середине
Comment 17 Виталий Перов 2009-05-18 22:12:46 MSD
Попробовал найти способ как в этих целях использовать стандартные утилиты git.

* Для того, чтобы eterhack и pure были в одной ветке, надо зайти в ветку pure и смержить туда eterhack

* В данной ситуации патч, создающий багу, лежит между e83d5d41adb2dedfcf6bdf803aa6672dc22b131f add missed header (бага есть)
и
9cdc2248a4c25bc39f7b983754d93c30247a111b update spec (баги нет).

Но между этими коммитами исходный код не компиллируется.
Необходим патч de251e1c, который появляется уже после верхнего коммита.

Сначала пытался его применять каждый раз после скачка git bisect'a. Не получается: данный патч прикладывается наверх дерева, и bisect перескакивает туда.

Единственный выход, который я здесь вижу, это
1) откатываться до верхнего патча
2) прикладывать патч, исправляющий ошибку компиляции
3) делать git rebase до нижнего патча, и опускать патч, исправляющий ошибку компиляции в самый низ.

Проблема в том, что при git rebase постоянно возникают конфликты. Можно делать --skip, и надеятся, что они не на что не повлияют.
Comment 18 Виталий Перов 2009-05-18 22:27:03 MSD
Да, такой способ работает.
Далее удалось еще немного локализовать проблему:
[0a0c1679c3e73feb0cfbd67e13f999680d67ae87] d3dxof: Create FileData object using its constructor. Fix return value of CreateEnumObject. (уже не работает)
и
[5ab4637186fae8183bb6c04ed3922de4c59e3856] include: Fix the WINELIB_NAME_AW macro for RpcBindingToStringBinding. (ещё работает)

ID коммитов сдесь другие т.к был сделан git rebase
Comment 19 Виталий Перов 2009-05-22 18:17:21 MSD
Нашёл коммит вызывающий багу:

commit 9f8f599c11ee1f3a9a137df2ef64e7e899d42617
Author: James Hawkins <jhawkins@codeweavers.com>
Date:   Mon Aug 18 22:59:44 2008 -0500

    msi: Factor out media handling and use the new interface to efficiently extract assemblies.
Comment 20 Виталий Перов 2009-05-22 18:18:44 MSD
В исходном репозитории id коммита:
74239fcd915cddcff5bf52d62a7082db9b4586c3
Comment 21 Виталий Перов 2009-05-22 19:01:23 MSD
Патч достаточно большой, и существенно изменяет поведение msi. Просто откатить его не удатся. Придётся разбираться в чём проблема.
Comment 22 Денис Баранов 2009-07-25 20:31:55 MSD
WINE@Etersoft CAD 1.1.0 eter1.1/eter2
Проблема сохранилась.
Comment 23 Денис Баранов 2009-07-25 20:36:06 MSD
*** Bug 3494 has been marked as a duplicate of this bug. ***
Comment 24 Александр Морозов 2009-07-28 17:06:36 MSD
В Data1.cab есть 2 файла с именами, различающимися только регистром:
RelNotes.rtf, распаковывающийся в c:/Program Files/ASCON/KOMPAS-3D V10/Libs/TemplateManager/,
RelNotes.RTF, который должен распаковываться в c:/Program Files/ASCON/KOMPAS-3D V10/.

trace:msi:cabinet_copy_file extracting L"C:\\Program Files\\ASCON\\KOMPAS-3D V10\\ReadMe.RTF"
trace:msi:cabinet_notify (3)
trace:msi:cabinet_notify (2)
trace:msi:installfiles_cb Skipping extraction of L"RelNotes.RTF"
trace:msi:cabinet_notify (2)
............
trace:msi:MsiGetFileHashW L"C:\\Program Files\\ASCON\\KOMPAS-3D V10\\RelNotes.RTF" 00000000 0x33f4c8
trace:msi:MsiGetFileVersionW L"C:\\Program Files\\ASCON\\KOMPAS-3D V10\\RelNotes.RTF" (nil) 0 (nil) 0
err:msi:ACTION_InstallFiles compressed file wasn't extracted (L"C:\\Program Files\\ASCON\\KOMPAS-3D V10\\RelNotes.RTF")
err:msi:ITERATE_Actions Execution halted, action L"InstallFinalize" returned 1603
trace:msi:msiobj_release object 0xfeae20 destroyed
trace:msi:MSI_ViewClose 0x1835d0
trace:msi:msiobj_release object 0x1835d0 destroyed
err:msi:ITERATE_Actions Execution halted, action L"ExecuteAction" returned 1603

Установка второго файла не происходит, так как msi производит поиск по имени файла без учёта регистра, находит первый файл, который помечен, как установленный, и считает, что данный файл уже установлен. Баг можно исправить, если сначала пытаться искать файл с учётом регистра.

После исправления данного бага инсталлятор падает в результате передачи функции сравнения строк нулевого указателя. Этот указатель соответствует значению переменной окружения. Проблему можно решить, если в подобных случаях вместо NULL использовать указатель на пустую строку.
Comment 25 Денис Баранов 2009-07-29 19:33:50 MSD
WINE@Etersoft CAD eter2.1/eter2
Проверил, Компас устанавливается только в том случае если выбрана полная установка, выборочная - не работает.
Comment 26 Александр Морозов 2009-08-03 17:03:01 MSD
Не удалось воспроизвести проблему с выборочной установкой. Проверил следующие варианты:
* то, что выбрано по умочанию + вспомогательные программы;
* выбрано всё;
* только основные программы;
* то, что выбрано по умолчанию + библиотека "Изображения сварных швов"
Comment 27 Виталий Булгаков 2009-09-02 17:14:26 MSD
WINE@Etersoft 1.0 CAD 1.1.0-eter5/4, Ubuntu 9.04
Полная установка заканчивается выдачей диалога о некорректном завершении (см. вложение). Должен быть диалог об успешном окончании установки.
Comment 28 Виталий Булгаков 2009-09-02 17:15:06 MSD
Created attachment 1311 [details]
скриншот

Диалог о некорректном окончании установки
Comment 29 Александр Морозов 2009-11-13 13:52:18 MSK
wine-etersoft-1.1.0-alt8
wine-etersoft-cad-1.1.0-alt2
Полная установка завершается успешно.
Comment 30 Денис Баранов 2010-12-02 22:14:02 MSK
WINE@Etersoft CAD установка успешна.