Как развернуть приложение .NET, срок действия которого истекает через определенное время или количество использований - PullRequest
2 голосов
/ 02 декабря 2010

Мы хотели бы иметь возможность создавать промежуточные выпуски нашего программного обеспечения, которые будут бомбить время или истечет через определенное фиксированное время или число использований, которыми нелегко манипулировать. Мы используем Visual C ++ со смешанными нативными и управляемыми сборками.

Полагаю, нам может понадобиться тег реестра, но это небезопасно.

Может кто-нибудь дать совет, как это сделать?

Ответы [ 6 ]

1 голос
/ 02 декабря 2010

Некоторое время назад я работал над «пробным» решением, и оно использовало комбинацию ключей реестра, информацию, хранящуюся в плоском файле в определенной позиции, окруженной ненужными данными, а затем также имел возможность достичь в веб-службу, которая проверит его обратно у создателей программного обеспечения.

Однако, как заявляет FrustratedWithFormsDesigner, не существует 100% надежного способа сделать это. Хакер всегда может обойти любые меры предосторожности, которые вы применили.

0 голосов
/ 02 декабря 2010

Вы можете развернуть его как приложение ClickOnce с сертификатом, срок действия которого истекает к определенной дате.Если я правильно помню, приложение будет ошибаться при запуске после этой даты.

Несколько предостережений:

  1. Единственным вариантом для пользователя может быть удаление приложение, которое является резким движением.
  2. В конечном итоге вы будете поддерживать множество различных развертываний.
  3. Это будет шоком для пользователя, так как это произойдет без предупреждения.
0 голосов
/ 02 декабря 2010

Пусть двоичный файл при запуске загрузит крошечный кусочек кода с одного из ваших серверов.

Отслеживайте счетчик активации на сервере, когда счетчик достигнет предела, верните фрагмент кода, который отображается«извини!»сообщение.

0 голосов
/ 02 декабря 2010

Установите переменную на определенную дату в программе, а затем при каждом запуске программы обращайтесь к системной дате и проверяйте, совпадает ли эта дата с указанной датой или превышает ее.Если true, тогда запустите процесс истечения срока действия и отобразите пользователю панель сообщений или предупреждений.

0 голосов
/ 02 декабря 2010

Это очень сложно, если не невозможно сделать надежным способом. В любом случае ничто не мешает кому-то удалять и переустанавливать программное обеспечение (вы это поддерживаете, верно?).

Если вы не можете ограничить функцию этих промежуточных выпусков (гораздо лучший стимул для людей переходить на официальные темы), это может быть больше проблем, чем стоит реализовать такую ​​схему.

0 голосов
/ 02 декабря 2010

Если вы используете базу данных для приложения, то, возможно, было бы лучше сохранить установщик (datetime) и numberofusers (int), а затем создать код, который проверяет эти поля при запуске / загрузке / запуске программы.Если они прошли определенное число или время (это также может быть в БД), выйдите из программы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...