Вы не можете сделать это надежно.
Вы можете попробовать простые вещи, такие как запись магического ключа в реестре или хранение магического файла где-нибудь, но простые инструменты, такие как Process Monitor покажут ваши магические маркеры всем, кто обладает навыками Google.
Вы можете попытаться удалить .exe, когда он завершается, но если пользователь делает копию до того, как выполнит ваш файл, вы теряете снова.
Вы можете написать руткит, который запрещает системе запускать ваше приложение дважды, но это не очень хорошо, и его также можно обнаружить и обойти.
Вы можете создать онлайн-службу, в которой вашему приложению требуется проверка на наличие одноразовой лицензии, но ее можно взломать, и вы получите большой беспорядок, отслеживая одноразовые лицензии.
Но, в конце концов, если кто-то действительно захочет запустить ваше приложение более одного раза, он поймет, как это сделать.
Какую защиту вы хотите?