Well, you've literally asked the million dollar question. If you find a good solution, let the big distributors know too, because they still haven't figured it out yet either.
I think the most robust way is to verify your application over the internet. However, this will inevitably cause problems for legitimate users, who have firewalls, have offline laptops and computers, you might have server outages, and so on. Ironically the pirates who crack your program have a much easier time without any of that hassle, so this kind of system probably ends up pressuring legit users to pirate the software to avoid the DRM hassle.
Personally, I'd be inclined just to release it totally unprotected. Legit users get zero hassle. Anyone can pirate it of course, but in a world where people make it their hobby to routinely find software, crack it, and release it for free, are you really losing out that much?
If your EXE is an indie game or similar, the fact someone can trivially send their game to their friend might actually work to your advantage. Word will spread and you may get more sales that way.
In short, the secure distribution thing is a myth. Nobody has done it well before. It's effectively impossible, so I'd be inclined to go to the opposite extreme.