Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何确定用户是否成功安装了我的软件?_C#_Winforms - Fatal编程技术网

C# 如何确定用户是否成功安装了我的软件?

C# 如何确定用户是否成功安装了我的软件?,c#,winforms,C#,Winforms,我想知道有多少用户成功安装了我的软件 >:我不想在安装后打开一个网站链接。 如果你不想在安装后打开一个网站,你应该考虑在安装完成后或安装程序启动时使用安装程序调用的自定义函数。 该功能可以在不打开浏览器的情况下愚蠢地调用该网站 我正在从事一个开源项目,它将帮助您完成这项任务。我将在一周或两周内发布这个链接。 < P>如果您不想在安装后打开一个网站,您应该考虑在安装完成后或安装程序启动时使用安装程序调用的自定义函数。 该功能可以在不打开浏览器的情况下愚蠢地调用该网站 我正在从事一个开源项目,它将

我想知道有多少用户成功安装了我的软件


<> >:我不想在安装后打开一个网站链接。

如果你不想在安装后打开一个网站,你应该考虑在安装完成后或安装程序启动时使用安装程序调用的自定义函数。 该功能可以在不打开浏览器的情况下愚蠢地调用该网站


我正在从事一个开源项目,它将帮助您完成这项任务。我将在一周或两周内发布这个链接。

< P>如果您不想在安装后打开一个网站,您应该考虑在安装完成后或安装程序启动时使用安装程序调用的自定义函数。 该功能可以在不打开浏览器的情况下愚蠢地调用该网站


我正在从事一个开源项目,它将帮助您完成这项任务。我将在一两周内发布此答案中的链接。

唯一可以做到这一点的方法是,如果必须使用某个安装程序安装软件,并且该安装程序作为安装过程的一部分“呼叫主页”到您的某个服务器。但是:

  • 你必须已经设置好所有这些。如果你已经发布了你的软件,那就太晚了

  • 有人很容易挫败这样的措施;e、 g.在安装软件时禁用机器的网络。一个严重的软件盗版者可能会试图修改你的安装程序来禁用“呼叫总部”代码

  • 你的软件的许多合法用户会考虑在安装过程中调用“回家”来侵犯他们的隐私。你很可能会收到大声的抱怨,而且有可能会受到负面宣传,从而损害你公司的声誉

  • 正如@Pierre 303所指出的,记录(例如)安装您的软件的人的信息可能受到贵国隐私法的限制


  • 唯一可以做到这一点的方法是,如果必须使用某个安装程序安装软件,并且该安装程序作为安装过程的一部分“呼叫总部”到您的某个服务器。但是:

  • 你必须已经设置好所有这些。如果你已经发布了你的软件,那就太晚了

  • 有人很容易挫败这样的措施;e、 g.在安装软件时禁用机器的网络。一个严重的软件盗版者可能会试图修改你的安装程序来禁用“呼叫总部”代码

  • 你的软件的许多合法用户会考虑在安装过程中调用“回家”来侵犯他们的隐私。你很可能会收到大声的抱怨,而且有可能会受到负面宣传,从而损害你公司的声誉

  • 正如@Pierre 303所指出的,记录(例如)安装您的软件的人的信息可能受到贵国隐私法的限制


  • 您可以使用WebRequest进行简单的pingback

    int serial = 123456;
    WebRequest request = WebRequest.Create(string.Format("http://yourserver.com/pingback.aspx?serial={0}", serial));
    var response = request.GetResponse();
    
    在应用程序第一次启动时调用此函数,并在注册表中存储一个标志,以记住pingback是否已发送


    注:终端用户通常不希望应用程序以静默方式“呼叫总部”。您应该使用accept按钮提供某种通知。

    您可以使用WebRequest进行简单的pingback

    int serial = 123456;
    WebRequest request = WebRequest.Create(string.Format("http://yourserver.com/pingback.aspx?serial={0}", serial));
    var response = request.GetResponse();
    
    在应用程序第一次启动时调用此函数,并在注册表中存储一个标志,以记住pingback是否已发送


    注:终端用户通常不希望应用程序以静默方式“呼叫总部”。您应该使用“接受”按钮提供某种通知。

    重新阅读您的问题并扪心自问-有人能理解吗?@Oded:对不起,我想知道有多少用户成功安装了我的软件?我不想在安装后打开网站链接。请重新阅读您的问题并扪心自问-有人能理解吗?@Oded:对不起,我想知道有多少用户成功安装了我的软件?我不想在安装后打开网站链接。+1-是的,侵犯隐私是一个大问题。任何像样的软件都应该请求用户的许可(冒着很多人拒绝许可的风险)……在包括我们在内的一些国家,这是强制性的(通知),如果“打电话回家”是某些活动过程的一部分,用户可能更能接受。此外,如果您显示一个通知,表明个人信息未发送(除非输入注册表格),并且该信息仅用于统计/计数等,这也是可以接受的。@Pierre 303-我以前从未听到过类似的消息。“你能提供一些参考吗?”马克·雷德曼-当然。但我不认为这是OP所说的。+1-是的,侵犯隐私是一个大问题。任何像样的软件都应该请求用户的许可(冒着很多人拒绝许可的风险)……在包括我们在内的一些国家,这是强制性的(通知),如果“打电话回家”是某些活动过程的一部分,用户可能更能接受。此外,如果您显示一个通知,表明个人信息未发送(除非输入注册表格),并且该信息仅用于统计/计数等,这也是可以接受的。@Pierre 303-我以前从未听到过类似的消息。“你能提供一些参考吗?”马克·雷德曼-当然。但我不认为这是OP所说的。你不应该默默地这样做,因为这可能被视为窃取信息。您应该询问用户是否同意。也可以考虑打开一个网页,如果你的应用程序没有直接连接到Internet,这是用户眼中的更安全的解决方案。即使没有提示,你也可以这样做。我知道他不应该这样做