I am thinking of distributing an application over the internet.
I wish to track each copy of the application.
In order to do this, each copy that gets downloaded needs to have a unique identity.
Installation is not required. It is just a case of download and run.

This means that I would like to embed a serial number at source.
Will this require me to recompile the c# program for every copy that gets downloaded?

Is there a standard technique that the software suppliers use to be able to mark each copy uniquely?

Why embed a serial number? When the user installs the application use a WMI query to pull the serial number from the BIOS, or make a call to System.Guid.NewGuid().ToString() and persist the installation GUID somewhere on the hard drive and use that as the unique identifier for your application.

Or create a website where they have to enter their information (name, email, etc) and create a license key for them. Require that a user provide the license key before they begin using your application.

commented: Good advice. +5