tags:

views:

80

answers:

3

I want to know how many users installed my software successfully.

But: I do not want to open a website link after installation.

A: 

If you don't want to open a website after the installation, you should consider using a custom function that will be called by either the installer after the installation is finished or by the application at startup.

That function would call the website silentely without opening a browser.

I'm working on an open source project that will help you in that task. I'll publish the link in a week or two in this answer.

Pierre 303
how can I do this ?
pedram
What installer do you use ?
Pierre 303
You shouldn't do this silently as it may be considered as information stealing. You should ask user if she/he agree for that. Also consider opening a web page, this is safer solution in users eyes if your application does not connect to the internet directly. You can do this even without a prompt.
adf88
I know he shouldn't but he did not ask if he should, he asked how he could :) I use webpage opening in a browser for the reason you invoke.
Pierre 303
The project I was talking about is http://www.warefeed.com
Pierre 303
+4  A: 

The only way you could do this would be if your software had to be installed using some installer, and that installer "called home" to some server of yours as part of the installation process. But:

  1. You have to have already set all of this up. If you've released your software already, it is too late ...

  2. It is easy for someone to defeat measures like this; e.g. by disabling the machine's networking while installing the software. And a serious software pirate is likely to try to modify your installer to disable the "call home" code.

  3. A lot of legitimate users of your software would consider "call home" during installation to be an invasion of their privacy. You are likely to get loud complaints and there's a risk of bad publicity that will damage your company's reputation.

  4. As @Pierre 303 points out, recording information about people who (for example) install your software may be limited by privacy laws in your country.

Stephen C
+1 - yup, the invasion of privacy is a big issue. Any decent software should ask for permission from the user to do so (at the risk of lots of folks denying that permission)....
marc_s
It's mandatory in some countries including us I think (the notification)
Pierre 303
If "calling home" is part of some activiation process that may be more acceptable by the user. Also if you display a notice indicating that personal information is not sent (unless entered into a form for registration) and the information is purely for stats/counts etc that may also be acceptable.
Mark Redman
@Pierre 303 - I've never heard *anything* like that before. Can you provide some kind of reference for that?
Stephen C
@Mark Redman - sure. But I don't think that was the OP was talking about.
Stephen C
Stephen check for the european directive 95/46/CE. In US I don't know the law reference. It's pretty clear: you can't store people related information without their prior consent.
Pierre 303
@Pierre - Oh ... *that* is what you are saying. Your comment *seemed* to be saying that it was mandatory to call home and record successful installation!!
Stephen C
+2  A: 

You could use a WebRequest for a simple pingback.

int serial = 123456;
WebRequest request = WebRequest.Create(string.Format("http://yourserver.com/pingback.aspx?serial={0}", serial));
var response = request.GetResponse();

Call this on the first startup of your application and store a flag in registry to remember if the pingback is already send.

Note: It is usually not appreciated by end users to have applications silently "phone home". You should provide some kind of notification with an accept button.

Albin Sunnanbo