Вот некоторые мысли, связанные с вашими требованиями:
- 2) Не требует кода в моем приложении . Это указывает на то, что вам нужна оболочка для переноса вашего исполняемого файла в другой исполняемый файл. Это, на мой взгляд, облегчит взломщику распаковку и получение исходного исполняемого файла. Это также может запускать программное обеспечение для обнаружения вирусов, поскольку оболочка запускает другую программу из программы.
- Наличие двух версий программы (комбинация 1), 2) и 3) ), одной демо-версии и одной производственной версии означает, что если кто-то получит производственную версию, он сможет свободно ее распространять. Хоть и законно, но все равно незащищено
- 4) Выживание после деинсталляции . Для меня это указывает на то, что вам либо в вашей оболочке, либо в вашем модуле лицензионного кода необходимо создать что-то вроде идентификатора компьютера из Application Trial Maker. В противном случае чистая оболочка должна была бы зависеть от чего-то вроде даты установки/создания или даты загрузки (где вы каждую ночь создаете версию, действительную только для заданного диапазона дат (но тогда они могут загрузить новую демо-версию...))
Основываясь на этом и некоторых чтениях Application Trial Maker, я бы предложил следующее, чтобы получить подходящее решение:
- Используйте Application Trial Maker, но оберните его так, чтобы единственное изменение, которое вам нужно в вашем коде, — это простое включение в ваш основной метод. Сделав это один раз, вы сможете легко включить его в любой свой проект.
- Если вы настаиваете на сборке одной демо-версии и одной производственной версии, сделайте две сборки Release, в которых вы используете условия для включения или отключения модуляции лицензии.
- Если вы создаете две версии, вы можете выбрать завершение без бита лицензионного кода.
- Если вы включаете лицензионный код, вы пытаетесь сделать его немного более автоматическим. Одним из вариантов может быть добавление кнопки в окно лицензии, запускающей HTTP-запрос с идентификатором компьютера, который может вернуть код лицензии. Это в сочетании с возможностью купить вашу программу (где они должны включать идентификатор компьютера) может уменьшить количество хлопот. Однако у вас может/должна быть возможность связать электронные письма с идентификатором компьютера с этой системой, но это также можно сделать несколько автоматическим образом.
Другими словами, я считаю, что программное обеспечение, которое вы запрашиваете, программное обеспечение-оболочка, не существует, и вам необходимо пересмотреть свои требования относительно того, что действительно важно для вас, и что вы можете заставить работать на вас на профессиональном уровне. безопасность. Основываясь на вашей собственной информации, кажется, что изменение конфигурации Application Trial Maker и, возможно, создание небольшой системы для обработки лицензионного кода было бы хорошим решением.