суббота, 30 июня 2018 г.

Установка Компас-3D v16.1 с аппаратным HASP-ключом на Linux

Использовался Linux Mint 18.3
Сначала немного пояснений. Имеется временный HASP-ключ, который активирует лицензию на пользование Компасом. Происходит это примерно так: ключ вставляется в USB-разъём, далее запускается Компас (именно в таком порядке), при этом он подхватывает лицензию. По крайней так это работает на Windows.

Но программа Компас-3D мало того, что не имеет версии для Linux (надежда только на wine), так еще и система HASP должна проверить USB-ключ и дать разрешение программе, установленной в «бутылке» wine.

Итак, у меня есть доступ к интернету (для скачивания 32-битного установщика Компаса v16.1 (v17 не приручилась)) и есть HASP-ключ. Система 64-разрядная Mint 18.3.

Далее в статье мы решим проблему запуска и использования лицензии. Поехали!


Установка Компас-3D. Базовый модуль

1. У меня уже установлен wine и winetricks — программы для запуска windows приложений на linux. Если у вас они не установлены, то см. инструкцию как это сделать из статьи «Программирование на EV3-G под Linux», если установлены я настойчиво рекомендую переустановить. Так сказать, для чистоты эксперимента.

2. Ниже используются версии
wine-2.4 (Staging) и winetricks 20180603-next


3. Создаём новую «бутылку» wine для программы Компас. Т.к. ранее я уже использовал программу wine (я установил LEGO Mindstorms EV3 в папку-«бутылку» ev3), рядом я создам ещё одну папку для Компаса, назову её kompas16.1_32. При этом, если будет программный сбой, вынужденное удаление «бутылки» никак не будет влиять на соседние программы-«бутылки». В этом большое удобство.
WINEPREFIX="/home/$USER/.local/share/wineprefixes/kompas16.1_32" WINEARCH=win32 wineboot


(При установке не поддаёмся уговорам установить Mono (потому что дальше установим Framework), Gecko — можно установить.)

Совет. Здесь и далее команды удобно выделять и копировать в свой терминал. Комбинации Ctrl + Insert / Shift + Insert.

4. Для работы Компаса нужно поставить Framework не ниже 4.5.2 (кстати он конфликтует с 4.0, если вдруг захотите поставить), MS Visual C++ 2005 и библиотеку для отображения расширенных подсказок Компаса comctl32 (можно и без неё, но я за эргономику) )
WINEPREFIX="/home/$USER/.local/share/wineprefixes/kompas16.1_32" WINEARCH=win32 ~/winetricks -q dotnet452 vcrun2005 comctl32


5. Далее убеждаемся в окне конфигурации, что у нас выбрана совместимость с ОС Windows7
WINEPREFIX="/home/$USER/.local/share/wineprefixes/kompas16.1_32" WINEARCH=win32 winecfg


6. Скачиваем с официального сайта ASCON программу Компас. Для этого создаём папку в домашней директории, переходим в неё и запускаем скачивание
mkdir ~/kompas16.1

cd ~/kompas16.1/

wget http://download.ascon.ru/public/Kompas-3D_V16/SP1_x86/Base/Base.7z

7. Извлекаем архив
7z e Base.7z


Если не установлена программа 7-zip, установите её: sudo apt install 7z)

8. Теперь всё готово к установке. Переходим в папку установщика (укажите свой путь)
cd /home/$USER/kompas16.1/


9. Обратите внимание, нужно запустить не файл Setup.exe, а соседний с ним KOMPAS-3D_V16.1_x86.msi.

10. Учитываем, что у нас установщик не exe-файл, а msi!
WINEPREFIX="/home/$USER/.local/share/wineprefixes/kompas16.1_32" WINEARCH=win32 wine msiexec /i KOMPAS-3D_V16.1_x86.msi 


11. Запаситесь терпением (минуты на две!). В появившемся окне установщика выбираем полную остановку.

12. Если появится окно HASP установщика, закрываем вручную и завершаем установку.
После успешной установки переходим в папку с установленной программой.
cd /home/$USER/.local/share/wineprefixes/kompas16.1_32/drive_c/Program Files/ASCON/KOMPAS-3D\ V16/Bin

13. Запускаем программу (пока без лицензии)
WINEPREFIX="/home/$USER/.local/share/wineprefixes/kompas16.1_32" WINEARCH=win32 wine KOMPAS.Exe


14. Выбираем создание Детали — инструменты должны быть не доступны и должно быть написано «Деморежим», далее выбираем создание Чертежа и проводим пару отрезков, если на чертежах исчезают отрезки или в детали увидели чёрный фон вместо 3D, — читаем и думаем по ссылке, обратите особое внимание на четвёртый пункт про OpenGL.
15. Закрываем программу. Если в терминале процесс не завершается (в течение примерно 15 сек), откройте ещё один терминал и принудительно перезапустите сервер wine
WINEPREFIX="/home/$USER/.local/share/wineprefixes/kompas16.1_32" WINEARCH=win32 wineserver -k


Установка лицензии (временный аппаратный HASP ключ)



1. Вначале убеждаемся, что компьютер видит HASP-ключ. Вставьте его в USB-разъём.

2. Откройте терминал и наберите команду вывода сообщений ядра 
dmesg
3. Ключ определился, вытаскиваем его. Если нет, то читаем замечание.

Замечание. Если ключ не определился, то возможно вам нужно поставить драйвер HASP-ключа. Воспользуйтесь, например, ссылкой 
4. Перейдём в домашнюю директорию
cd ~/


5. Для активации лицензии Компаса под wine скачаем и распакуем сюда с официального сайта ПО от компании Aladdin
wget ftp://ftp.aladdin.com/pub/hasp/hl/linux/WineHASP.zip

6. Извлечём архив и удалим его
unzip WineHASP.zip


rm WineHASP.zip

7. Перейдем в папку распакованного архива
cd WineHASP/linux/


8. Скопируем отсюда файл для проверки лицензии в «бутылку» с Компасом
cp setwinehaspport.exe /home/$USER/.local/share/wineprefixes/kompas16.1_32/drive_c/windows/system32

9. Перейдем в папку с этим файлом
cd /home/$USER/.local/share/wineprefixes/kompas16.1_32/drive_c/windows/system32

10. Вставьте в USB-разъём HASP-ключ.


11. По умолчанию setwineHASP.exe использует с wine порт 2790. Укажем его явно 
WINEPREFIX="/home/$USER/.local/share/wineprefixes/kompas16.1_32" WINEARCH=win32 wine setwinehaspport.exe 2790

12. Открываем ещё одно окно терминала, переходим в место установки Компаса и запускаем его
cd ~/.local/share/wineprefixes/kompas16.1_32/drive_c/Program Files/ASCON/KOMPAS-3D V16/Bin

WINEPREFIX="/home/$USER/.local/share/wineprefixes/kompas16.1_32" WINEARCH=win32 wine KOMPAS.Exe


13. Проверяем определилась ли лицензия. Выбираем меню Справка О программе
14. Далее выбираем создание Детали и нажимаем на замок, чтобы получить лицензию.
15. Чтобы не производить поиск лицензии каждый раз при открытии программы, активируем автоматическое подключение лицензии: 
Сервис → Параметры → (вкладка) Система→Общие → Управление системой → (галочка) Автоматически получать лицензию на работу в Компас 3D.


16. Закрываем Компас.

17. Обращаем внимание на терминал в запущенным setwinehaspport.exe. Принудительно его останавливаем (Ctrl + C), если он ещё работает. Больше для работы в Компасе его запускать не нужно.

18. Теперь программа работает по лицензии. Но обратите внимание, что HASP-ключ нужно вставлять в USB-разъём перед запуском программы, в противном случае лицензия не определится.
Замечание про нестандартные порты и сетевой ключ. Почитайте статью (Но там есть опечатки, см. например, winehasp -p 1234 вместо ./winehasp -p 1234)

Замечание про конфигурации Компаса. Многочисленные конфигурации Компаса (Строительная, Машиностоительная и другие должны доустанавливаться аналогично). Нужно помнить о соответствие версий, например, если у вас сейчас базовая версия Компаса v16.1, то Машиностроительную конфигурацию нужно устанавливать версии 16.1.

Сейчас Компас запускается длинной командой


WINEPREFIX="/home/$USER/.local/share/wineprefixes/kompas16.1_32" WINEARCH=win32 wine /home/$USER/.local/share/wineprefixes/kompas16.1_32/drive_c/Program Files/ASCON/KOMPAS-3D V16/Bin/KOMPAS.Exe

Очевидно, что запускать программу так каждый раз не удобно, поэтому читаем дальше как сделать ярлык.


Ярлык Компаса на Рабочем столе и в Меню


Здесь всё очень просто.

1. Открываем меню, печатаем по-русски компас. Находим готовый ярлык.
2. Щёлкаем на нём правой кнопкой мыши и выбираем Добавить на рабочий стол.
3. Обращаем внимание на то, что у ярлыка странный значок. Но это только пока. Делаем на нём двойной щелчок мышкой. В появившемся окне выбираем Сделать доверенной
4. Значок ярлыка должен измениться на привычный. Делаем двойной щелчок по ярлыку — программа запускается. Ярлык готов!
Замечание. Если у вас не нашлось в меню этого ярлыка. Тогда придётся делать его вручную.


Создание ярлыка вручную


Значки для ярлыков в моём wine разбиты на группы по разрешению (16х16, 24х24, …, 256x256) по адресу
/home/$USER/.local/share/icons/hicolor/

Причём значок каждой программы будет называться одинаково в этих папках, но иметь разное разрешение. Наиболее подходящим для меня показался ярлык с названием 56BC_KOMPAS.0.png
Воспользуемся им для создания ярлыка.

1. Создайте файл ярлыка в удобном редакторе (я использую nano, для тех, кто первый раз его использует — Ctrl + O — сохранить, Ctrl + X — выйти)
nano ~/.local/share/applications/wine-kompas-v16.1.desktop

2. Вставьте следующий текст, сохранитесь и закройте документ.
#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=КОМПАС-3D V16.1
Comment=Система трехмерного моделирования
Exec=env WINEPREFIX="/home/mint/.local/share/wineprefixes/kompas16.1_32" /opt/wine-staging/bin/wine C:\\\\windows\\\\command\\\\start.exe /Unix /home/mint/.local/share/wineprefixes/kompas16.1_32/dosdevices/c:/users/mint/Start\\ Menu/Programs/АСКОН/КОМПАС-3D\\ V16/КОМПАС-3D\\ V16.lnk
Type=Application
StartupNotify=true
Comment=Система трехмерного моделирования
Path=/home/mint/.local/share/wineprefixes/kompas16.1_32/dosdevices/c:/Program Files/ASCON/KOMPAS-3D V16/Bin/
Icon=56BC_KOMPAS.0

3. Разрешаем запуск ярлыка
sudo desktop-file-install ~/.local/share/applications/wine-kompas-v16.1.desktop

4. Ярлык готов! Можете добавить его из Меню на Рабочий стол.


Про ассоциацию файлов


Если кого-нибудь заинтересует ассоциация файлов с программой, т.е. открытие файла в программе Компас двойным щелчком, напишите это в комментариях. Я дополню статью.

Комментариев нет:

Отправить комментарий