Написать отдельную GUI-программу, которая будет выводить предупреждение при отсутствии лицензии/тестовом режиме (предупреждение об оставшихся днях)
О какой именно лицензии идет речь? Честно говоря не совсем понимаю что требуется конкретно сделать и для какого прожукта?
Для WINE@Etersoft. Вообще, это часть бага 1215. За подробностями лучше обратиться к его инициатору.
Программа должна использовать функцию check_license, экспортируемую libwine-etersoft? Куда её лучше поместить (по какому пути) в wine-etersoft? Программа должна использовать Win32 API, Xlib или что-то другое?
(In reply to comment #3) > Программа должна использовать функцию > check_license, экспортируемую libwine-etersoft? Да > Куда её лучше поместить (по какому пути) в > wine-etersoft? Я так понимаю, что она должна располагаться в windows/command > Программа должна использовать Win32 API, Xlib или > что-то другое? Win32 API
Выложил патч. Он дополняет уже имеющиеся в ветке eterhack, связанные с программой EterMsg. При проверке лицензии возможны 4 случая: 1) файл лицензии не найден 2) файл лицензии поврежден 3) срок действия лицензии истек 4) проверка на лицензию прошла успешно По поводу случаев 1-3 выдаются соответствующие сообщения. В случае 4 происходит запуск wine.
Выложил еще один патч, дополняющий существующее решение. Он устраняет проблему подвисания wine в случае если лицензия не прошла проверку. Это происходило из-за того, что лицензия проверялась перед запуском системных процессов. Если лицензия не подходила, запуск одного из них блокировался, и wineserver ждал таймаута для своего завершения. Решение заключается в проверке на имена системных процессов перед проверкой лецензии.
Теперь если стоит закрытая и открытая часть, то если не создано wine окрыжение. При первом запуске wine, выдается 2 раза предупреждение что файл лицензии поврежден и в консоли след: First running... Using WINEPREFIX=/home/guest/.wine /usr/bin/wine: line 75: /winesplash.progress: Отказано в доступе Creating default file tree... /usr/bin/wine: line 90: /winesplash.progress: Отказано в доступе Copying prepared tree from '/usr/share/wine/skel' ... /usr/bin/wine: line 90: /winesplash.progress: Отказано в доступе Initialize registry and environments... ALSA lib seq_hw.c:457:(snd_seq_hw_open) open /dev/snd/seq failed: Нет такого файла или каталога err:mshtml:install_cab Could not extract package: 80070002 Could not load Mozilla. HTML rendering will be disabled. wine: configuration in '/home/guest/.wine' has been updated. /usr/bin/wine: line 90: /winesplash.progress: Отказано в доступе Check for correct file locking... FAILED: Use inside Wine's drive Error: Lock test is not passed for /home/guest/.wine/dosdevices/c:/windows/temp. Wait troubles... Building local environment... Flash Player 9 NPAPI installing... [ ERROR ] Сборка: wine-etersoft-1.0.10-alt10.3 wine-etersoft-sql-1.0.10-alt6 libwine-etersoft-1.0.10-alt10.3 libwine-etersoft-gl-1.0.10-alt10.3
Исправил ошибки. Всё же внёс отключение выдачи сообщения о лицензии на время установки (обновления) через переменную WINEETERSOFTUPDATE, иначе грамотно не отключить всё запускаемое в процессе создания .wine.