Идея! Как вариант, если пользователь постоянно переустанавливает Windows и у него слетает при этом ключ (а гарантия на программу давно закончилась и платить не хочет) - можно ему передавать не простой ключ, а Глюч (немного модифицированный ключ)!
После ввода этого ключа программа нормально будет работать 2-3 недели, а потом каждые 5 минут начнет вылетать с ошибкой "Access Violation", "Index out of bounds (1), "Divizion by zero" и т. д. (можно чтобы текст ошибки выводился рэндомом, например).
И тогда если пользователь спросит, почему программа стала глючить - спросить текст ошибки и сказать - разберемся и предложить продление тех. поддержки. В этом случае у пользователя будет 3 варианта:
- Отказаться от использования программы.
- Работать с ошибкой, вскоре его это задолбает.
- Продлить тех. поддержку.
В любом случае пользователь не сможет предъявить претензии в том, почему ключ не подходит (ключ ведь подходит). А тех. поддержку бесплатно мы не обязаны оказывать после 15 месяцев.
Глюч выдавать только жадным пользователям, которые постоянно напрягают, но не платят за продление поддержки.