Вы придерживаетесь философии разрешения установки только в том случае, если там нет флага, что означает, что вам нужно оставить флаг там после удаления. Также это не удается, когда пользователь находит флаг и самостоятельно удаляет его.
Лучше, если вы перевернете его и дадите программе работать, только если там есть флаг. Этот флаг будет регистрационным ключом с зашифрованной датой истечения срока действия. Когда программа истекает или удаляется, вы удаляете флаг.
Я реализую это, заставляя моих пользователей заходить на мой сайт, чтобы зарегистрироваться и получить бесплатный пробный ключ. Возможно, есть и другие способы, но мне нравится этот, потому что он также позволяет мне собирать информацию о том, кто пытается мою программу.