Обходя ошибки с установкой КОМПАС в диалоговом режиме произвел установку вслепую: 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 выдают положительный результат.
Сообщение выдается потому, что исполняемый файл kompas.exe обработан утилитой envelope. Проверил, если исполняемый файл не обработан envelope, то КОМПАС запускается и получает лицензии с сетевого ключа.
Не приходит сообщение WM_NOTIFY
Ой. Комментарий не в эту багу :)
Без исполняемого файла и ключа мы вряд ли сможем определить проблему. Нам для начала надо будет отделить проблемы с сетевым ключом от проблем с локальным.
Отправил письмо с запросом версии, на которой можно воспроизвести проблему.
Компас 9 не устанавливается. Запускаю установку через winexp.. Начинается установка и прерывается не понятно на чем.. Завершается сообщением о том что установка не завершена.
Денис, какие проблемы по установке 1С остались?
По установке КОМПАС 10 конечно же.
На последней сборке 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
Очень похоже на багу #2410. Буду разбираться
Ещё есть сходство с #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
if (f->state != msifs_missing && f->state != msifs_overwrite) { FIXME("Skipping extraction of %s\n", debugstr_w(file)); return FALSE; } Похоже, что сообщения появляются потому, что данные файлы уже существуют.
Пытаюсь определить версию, с которой программа перестала работать. Пока дошёл до 1.0.10-eter5. Там установка всё ещё не работает
Примерно до версии 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 установка компаса Работает!!!
Немного локализовал проблему. Ошибка появляется между коммитом 9cdc2248a4c25bc39f7b983754d93c30247a111b update spec ( релиз 1.0.9 alt18) (там ошибки ещё нет) и e83d5d41adb2dedfcf6bdf803aa6672dc22b131f add missed header (незадолго до 1.0.9eter20) (там ошибка уже есть). В промежутке между ними куча патчей из ветки pure (ни одного нашего). Как перемещаться по патчам из pure, при этом оставаясь в ветке eterhack -мне пока ещё не ясно. Откатывать/добавлять по-одному невозможно - их слишком много.
Появилась идея - самому реализовать некое подобие git bisect. алгоритм примерно такой: 1) задаются id начала и конца проверки (good и bad). 2) с помощью git log считается количество коммитов между ними и находится средний коммит. 3) с помощью git diff находится разница от bad до этого коммита. 4) разница прикладывается в виде патча. Таким образом мы оказываемся в середине
Попробовал найти способ как в этих целях использовать стандартные утилиты 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, и надеятся, что они не на что не повлияют.
Да, такой способ работает. Далее удалось еще немного локализовать проблему: [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
Нашёл коммит вызывающий багу: 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.
В исходном репозитории id коммита: 74239fcd915cddcff5bf52d62a7082db9b4586c3
Патч достаточно большой, и существенно изменяет поведение msi. Просто откатить его не удатся. Придётся разбираться в чём проблема.
WINE@Etersoft CAD 1.1.0 eter1.1/eter2 Проблема сохранилась.
*** Bug 3494 has been marked as a duplicate of this bug. ***
В 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 использовать указатель на пустую строку.
WINE@Etersoft CAD eter2.1/eter2 Проверил, Компас устанавливается только в том случае если выбрана полная установка, выборочная - не работает.
Не удалось воспроизвести проблему с выборочной установкой. Проверил следующие варианты: * то, что выбрано по умочанию + вспомогательные программы; * выбрано всё; * только основные программы; * то, что выбрано по умолчанию + библиотека "Изображения сварных швов"
WINE@Etersoft 1.0 CAD 1.1.0-eter5/4, Ubuntu 9.04 Полная установка заканчивается выдачей диалога о некорректном завершении (см. вложение). Должен быть диалог об успешном окончании установки.
Created attachment 1311 [details] скриншот Диалог о некорректном окончании установки
wine-etersoft-1.1.0-alt8 wine-etersoft-cad-1.1.0-alt2 Полная установка завершается успешно.
WINE@Etersoft CAD установка успешна.