Как безопасно и удобно распространять тестовые проекты в автомобильных испытаниях и на производственных линиях? Как защитить ключевые настройки от копирования и изменения? В TSMaster для этого есть две функции: публикация приложения и зашифрованная публикация — упаковка одним кликом, шифрование и гибкое лицензирование. Разбираем обе и отвечаем на частые вопросы.

Ключевые слова: TSMaster, публикация приложения, зашифрованная публикация, TSAPP, T7z/PT7z, регистрационный код.

1. Что такое публикация приложения и зашифрованная публикация

TSMaster позволяет упаковать текущий проект в отдельный исполняемый файл публикации, не раскрывая деталей проектирования: получателю достаточно двойного клика, чтобы запустить его.

ФункцияФорматКлючевые особенности
Публикация приложенияTSAPPМожно скрывать модули или части интерфейса, шифрование баз данных и конфигурации, защита от копирования и изменения
Зашифрованная публикацияT7z / PT7zПомимо шифрования: парольная защита, теневой режим, ограничения по времени и числу запусков, регистрационный код с привязкой к оборудованию

2. Зашифрованная публикация

Зашифрованная публикация особенно полезна при передаче тестовых скриптов и калибровочных проектов поставщикам, производственным линиям и заказчикам.

Функция упаковывает текущий проект в файл T7z или PT7z: при первом использовании файл импортируется и распаковывается в каталог. Все базы данных и конфигурации шифруются, что исключает копирование и изменение настроек; при этом пользователь одним кликом запускает готовое приложение, не вникая в его устройство, — проект удобно встраивается в производственную среду. Расположение функции в TSMaster — на рис. 2-1.

Зашифрованная публикация
Рис. 2-1. Функция зашифрованной публикации в TSMaster

Настройки шифрования проекта (рис. 2-2):

  1. Парольная защита — при открытии опубликованного проекта потребуется ввести пароль;
  2. Теневой режим — если включён, любые изменения конфигурации пользователем не сохраняются;
  3. Параметры запуска — выбор оборудования при запуске: устройства TOSUN с лицензией или оборудование любого другого производителя;
  4. Привязка версии — разрядность открываемой версии: x86 или x64;
  5. Отображаемое содержимое — всплывающая подсказка при открытии проекта (например, «открывать версией не ниже xxx» и другие важные замечания).
Настройки шифрования
Рис. 2-2. Настройки зашифрованной публикации

Чтобы ограничить использование опубликованного проекта — например, задать срок использования, — активируйте функцию ограничений (рис. 2-3):

  1. проект работает только в заданном диапазоне дат (не раньше начальной и не позже конечной);
  2. проект можно использовать ограниченное число дней (каждый день использования засчитывается, дни могут идти не подряд);
  3. проект можно запустить ограниченное число раз (одно подключение приложения = один запуск);
  4. привязка регистрационной информации к оборудованию компьютера (опционально).

Если включён пункт 4, пользователю потребуется регистрационный код, сгенерированный в модуле «Менеджер авторизации проекта». На практике этот вариант используется чаще всего — например, шифрованные проекты, передаваемые вовне, обычно привязывают регистрационной информацией. Ограничения бывают двух типов: полный запрет на открытие проекта TSMaster либо запуск разрешён, но подключение ограничено.

Ограничения использования
Рис. 2-3. Ограничения использования проекта

Далее выбирается шифруемое содержимое: пункты №1 и №2 обязательны — файлы баз данных и конфигурации не смогут быть разобраны извне; остальное — по желанию (рис. 2-4).

Шифруемое содержимое
Рис. 2-4. Выбор шифруемого содержимого

Сохранив настройки шифрования, завершите публикацию проекта (рис. 2-5).

Завершение публикации
Рис. 2-5. Публикация зашифрованного проекта

Теперь посмотрим, как открывается опубликованный PT7z-проект (в примере — с ограничением по регистрационному коду). Дважды кликните по PT7z-файлу: при первом использовании файл импортируется и распаковывается в (пустой) каталог, при открытии появится запрос пароля (рис. 2-6).

Ввод пароля
Рис. 2-6. Запрос пароля при открытии проекта

При верном пароле проект открывается и переходит к вводу регистрационного кода; при неверном — закрывается (рис. 2-7).

Ввод регистрационного кода
Рис. 2-7. Ввод регистрационного кода

Для получения регистрационного кода сторона, выпустившая проект, должна выполнить авторизацию. Пользователь открывает отображение аппаратного ID своего компьютера (рис. 2-8), копирует его и передаёт издателю. Издатель открывает модуль «Менеджер авторизации проекта», вставляет аппаратный ID, выбирает настройки ограничений, генерирует регистрационный код и отправляет пользователю (рис. 2-9, 2-10).

Аппаратный ID
Рис. 2-8. Аппаратный ID компьютера пользователя
Менеджер авторизации
Рис. 2-9. Генерация регистрационного кода в менеджере авторизации
Передача кода
Рис. 2-10. Регистрационный код для пользователя

После вставки регистрационного кода проект открывается и работает штатно.

3. Публикация приложения

Публикация приложения устроена по тому же принципу, что и зашифрованная публикация; отличие — в видимости модулей.

Публикация приложения генерирует из текущего проекта отдельный файл TSAPP: двойной клик — и опубликованное приложение запускается. Все базы данных и конфигурации шифруются, что защищает их от копирования и изменения; пользователь одним кликом запускает настроенное приложение, не зная деталей его устройства, — удобно для встраивания в производственную среду.

Принцип и порядок действий совпадают с зашифрованной публикацией; единственное отличие — способ скрытия модулей: при публикации приложения можно скрыть все текущие модули целиком либо только некоторые части модулей (рис. 3-1, 3-2).

Скрытие модулей
Рис. 3-1. Выбор скрываемых модулей
Опубликованное приложение
Рис. 3-2. Опубликованное приложение TSAPP

4. Частые вопросы

На практике при открытии в новой версии TSMaster проекта, опубликованного в старой, страницы могут отображаться пустыми или «разъезжаться».

В: после открытия проекта страница пустая?

О: Обычно причина — отсутствующий или повреждённый файл конфигурации. Решение:

  1. Скопируйте файлы проекта — убедитесь, что исходный проект сохранён в резервной копии.
  2. Исправьте файл TSMaster.ini: откройте TSMaster.ini; скопируйте содержимое файла TSMaster_Current Layout.lyt из папки lyt исходного проекта (рис. 4-1); вставьте его в конец файла TSMaster.ini проблемного проекта (рис. 4-2); сохраните изменённый TSMaster.ini.
  3. Откройте проект заново: закройте и снова откройте TSMaster и проверьте, восстановилась ли страница.
Файл layout
Рис. 4-1. Содержимое TSMaster_Current Layout.lyt
TSMaster.ini
Рис. 4-2. Вставка в конец TSMaster.ini

В: после открытия проекта страница «разъехалась»?

О: Попробуйте следующее:

  1. Распакуйте файлы проекта: если это проект после публикации приложения, заново распакуйте TSAPP-проект и откройте его. TSAPP — это архив; при открытии «напрямую» из-за особенностей механизма (нет прав, файл во временном каталоге) страница может открыться пустой.
  2. Исправьте файл конфигурации — см. пункт 1 выше (TSMaster.ini).
  3. Удалите системные переменные: если в проекте есть недостающие системные переменные (редкий случай), удалите поле userVariable в TSMaster.ini (обычно их два).

Функции публикации приложения и зашифрованной публикации в TSMaster — корпоративное решение для распространения и защиты тестовых проектов: и массовое развёртывание на производстве, и межкорпоративная совместная работа — с безопасностью интеллектуальной собственности, контролируемым использованием и простотой эксплуатации.