I have written a program that will be distributed for free and I am trying to figure out the best way to know how many people are launching my program (not downloading) and from what IP address. This would theoretically give me an approximate number of people launching my program from a company (assuming said company has one external facing IP).
After the program successfully launches it will start this process in a separate thread. I would like it to be simple just checking into a server that will capture the external address. Ideally it would be nice to do from my Linux web host. Should take very little over head.
It would be also nice to expand on. If an error occurred it could quickly send the error to the server as well. Thanks in advanced!
EDIT: Also the ability to send the version would be desirable.
Why not simply use “ClickOnce” deployment. SEE: C# Deploying my application – clickonce from web only
That way not only will the program “phone home” each time it is launched, it can also check if there are any updates available and offer the user the option of getting the latest version.
All of the information you desire will be in the server’s web log. The user wins because he gets updates and you get the added bonus of seeing who chooses to download the updates.