April 12th, 2016

Matrix

Зарубка на память - разработчикам

Сочиняете консольные сервисы для -nix систем и не знаете, как их адаптировать под виндовоз? Ответы есть.

Во-первых, компиляция - у Пайтона она вообще встроенная: запускаем pyinstaller с нужными параметрами и получаем настоящий виндузовый экзешник.

Во-вторых, установка. Это такая муторная фигня, которую надо сочинить для юзера, причём не приведи господь, чтобы это был make-файл. Короче, берём пакет NSIS, пишем на довольно примитивном языке какие нам нужны экраны, из чего состоит пакет, куда его ставить по умолчанию и как деинсталлировать - получаем вполне сносный установщик программ.

В-третьих, скрываем консоль от пользователя. Тут вообще имеется гениальная штука the Non-Sucking Service Manager (естественно, опен-сорсный). Эта утилита позволяет объявить ваш консольный экзешник сервисом и тихо-спокойно его запустить. Работает как из пушки. Естественно, ваше консольное приложение будет лишено некоторых стандартных хуков, присущих сервисам, но это такая мелочь, - ведь основная задача решается чётко и надёжно.