2010-03-21 2 views
2

В любом случае я могу использовать для уничтожения моего развернутого приложения в определенную дату ?. Как я могу приказать приложению уничтожить себя в определенную дату после установки ?. Скажем, я развернул свое приложение C# на PC1 сегодня. После определенной даты приложение удаляется и удаляется с ПК1 автоматически (папка установки удалена). Как мне это сделать?. Если это невозможно, по крайней мере, как я могу запретить пользователю использовать его после определенной даты ?.C# Application self-destroy в определенную дату

+0

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

ответ

5

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

Автоматическая деинсталляция - это очень плохая идея. Я бы согласился с просто предупреждением о том, что срок действия приложения истек.

+2

+1 Согласен! автоматическая деинсталляция - не очень хороший подход; вместо этого отключите приложение с некоторым сообщением «приложение бездействующим» и, возможно, укажите URL-адрес сайта, на котором клиент может приобрести/продлить регистрацию приложения. –

5

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

Обязательно попросите ваше приложение отказаться от работы (т. Е. Калечить его), но не нужно его разрушать самостоятельно.

2

http://msdn.microsoft.com/en-us/library/system.componentmodel.license(VS.71).aspx

Попробуйте начать там. Я уверен, что вы могли бы установить лицензию, в которой хранилась дата истечения срока действия, и, следовательно, вы могли бы предотвратить продолжение приложения в случае, если дата истечения срока действия прошла.

Смежные вопросы