Запуск защищенных Windows-приложений в среде Wine на ОС GNU/Linux

Для работы приложений Windows, защищённых ключами Guardant Sign/Time и Guardant Code под Wine (www.winehq.org), необходима библиотека grdwine.dll.so. Для этого в комплект разработчика включен проект библиотеки для Wine — grdwine, распространяемый под свободной лицензией GNU Lesser General Public License version 2.1 (поставляется в двух вариантах - в виде скомпилированных библиотек grdwine-0.5.7-bin.tar.gz и в виде пакета с исходными текстами – grdwine-0.5.7.tar.gz).

Важно!
Рекомендуемая к использованию версия Wine — 1.x.x. Корректная работа с более ранними версиями Wine не гарантируется. Загрузить последнюю версию Wine можно по адресу: https://www.winehq.org/download

Важно!
Библиотека предназначена только для работы с современными моделями ключей Guardant. C моделями линейки Stealth II и Stealth III эта библиотека не может быть использована.

Имеется два варианта установки библиотеки grdwine.dll.so под Wine: установка скомпилированных библиотек из grdwine-0.5.7-bin.tar.gz и компиляция библиотек из исходных текстов и их последующая установка из grdwine-0.5.7.tar.gz.

Установка скомпилированных библиотек

Важно!
Для установки скомпилированных библиотек требуется наличие заранее установленного wine.

1. Cкачать архив с бинарными файлами библиотек grdwine-0.5.7-bin.tar.gz

2. Распаковать архив grdwine-0.5.7-bin.tar.gz и перейти в распакованную директорию

Пример:
$ tar -xvf grdwine-0.5.7-bin.tar.gz
$ cd grdwine-0.5.7-bin

3. Перейти в распакованную директорию и скопировать библиотеку

После того как библиотека grdwine.dll.so распакована, необходимо перенести ее версию нужной разрядности в директорию с защищенным приложением ("x86" необходима для работы 32-битных windows-приложений, а "x86_64" - для работы 64-битных windows-приложений соответственно).
Затем файл библиотеки необходимо переименовать изменив расширение с grdwine.dll.so на grdwine.dll.

Пример:
$ cp ./grdwine-0.5.7-bin/x86/grdwine.dll.so /home/user/samples/
/home/user/samples/ - путь к директории с защищенным приложением
$ mv /home/user/samples/grdwine.dll.so /home/user/samples/grdwine.dll

Компиляция библиотек из исходных текстов и их последующая установка

1. Установка зависимостей на примере Ubuntu

Для сборки библиотеки на Ubuntu 16.04 требуется предварительно установить пакеты:

$ sudo apt-get install autoconf
$ sudo apt-get install wine
$ sudo apt-get install wine-dev
$ sudo apt-get install libc6-dev-i386 (если требуется сборка 32-разрядной версии библиотеки)

Для Ubuntu 17.10 и 18.04 дополнительно установить:

$ sudo apt-get install wine64-tools (если требуется сборка 64-разрядной версии библиотеки, не совместим с wine32-tools)
$ sudo apt-get install wine32-tools (если требуется сборка 32-разрядной версии библиотеки, не совместим с wine64-tools)


2. Последовательность сборки библиотеки grdwine.dll.so (для 64-bit систем)

Скачать и распаковать пакет с исходными текстами grdwine-0.5.7.tar.gz :

$ tar -xvf grdwine-0.5.7.tar.gz
$ cd grdwine-0.5.7

Запустить ./bootstrap.sh

$ ./bootstrap.sh

Для компиляции и установки 32-разрядной библиотеки выполнить:

$ ./configure --with-wineincs=/usr/include --with-winedlls=/usr/lib/i386-linux-gnu/wine
$ make
# sudo make install

Для компиляции и установки 64-разрядной библиотеки выполнить:

$ ./configure --enable-win64 --with-wineincs=/usr/include --with-winedlls=/usr/lib/x86_64-linux-gnu/wine
$ make
# sudo make install

Важно!
Указанные в примере пути к заголовочным файлам и библиотекам Wine (опции --with-wineincs и --with-winedlls) могут меняться в зависимости от версии Wine, используемого дистрибутива Linux или заданного префикса для установки (в случае, если Wine устанавливался из исходных кодов)

Важно!
Для запуска 32-разрядных приложений Windows в дистрибутивах Linux архитектуры x86_64 достаточно собрать только 32-разрядную библиотеку. Сборка 64-разрядной библиотеки требуется для запуска 64-разрядных приложений Windows.

Важно!

Если правила для udev не были установлены ранее, то их необходимо установить. Подсоедините ключ Guardant к USB-порту компьютера, защищенное приложение готово к работе.