Is it possible to restrict a .NET executable to a specific machine somehow so that it can only be run on that machine.
If you want a ready-made license scheme which supports this scenario, see CryptoLicensing
This is not really true. CryptoLicensing only uses the computer name, not even CPU ID.