Вы ищете «тип защиты для моего приложения, в котором только первая система (которая запускает приложение в первый раз) могла использовать мое приложение». Я думаю, вы имеете в виду, что каждая копия программного обеспечения, которое вы продаете, может быть установлена только на одном компьютере одновременно.
Вам нужно решить две проблемы:
- Как сгенерировать уникальный идентификатор для компьютера
- Как сохранить значение идентификатора
У вас есть несколько вариантов использования уникального идентификатора, ни один из которых не является хорошим. Будьте готовы к запросам поддержки от клиентов, когда они меняют компьютерное оборудование, когда их компьютер ломается, или когда они хотят перенести программное обеспечение с одного компьютера на другой. Приличный метод вычисления уникального идентификатора - эта статья ( зеркальная ссылка , поскольку статья проекта кода недоступна).
Я бы порекомендовал просто сохранить этот идентификатор в виде строки в файле app.config (используя Properties.Settings
, начните с эту ссылку для получения дополнительной информации). Он будет виден в виде обычного текста, но как нелицензированный пользователь узнает, какое значение следует изменить для своего компьютера, когда оно выглядит как "4876-8DB5-EE85-69D3-FE52-8CF7-395D-2EA9"? Если это не соответствует, направьте их на ваш сайт / телефон для поддержки.
У вас все еще есть проблема с выбором, когда устанавливать это значение - я бы посоветовал установить его как часть установщика, а не сохранять его при первом запуске программы, так как тогда у вас все еще есть проблема, чтобы определить, когда Программа запускается в первый раз. Для установки может потребоваться некоторый регистрационный код и метод связи с центральным сервером лицензирования. (Да, это действительно сложно. Как вы думаете, насколько решительно люди могут взломать ваше лицензирование?)