如何衡量用户的桌面应用程序使用情况?

我在c#.NET 3.5中编写了一个应用程序。 人们下载并使用。 我想知道有多少用户这样做以及安装了多少用户。 这该怎么做?

免责声明:我为创建我提到的产品的公司工作。

有许多方法可以跟踪应用程序的使用情况。 其中之一是在服务器上显示一个网页作为安装过程的最后一步,或者在您的应用程序中有一个触发该网页的启动画面。 使用其中任何一种,您都可以使用Web分析来粗略衡量已安装或运行应用程序的用户与下载次数。

另一种方法是使用PreEmptive Solutions的Runtime Intelligence产品,该产品将使用跟踪function直接注入您的.NET(或Java)应用程序。 这将为您提供有关实际运行软件的人数以及系统配置文件信息的度量。 您还可以添加对特定function使用情况的跟踪,以便您可以查看应用程序内部的人员使用情况(包括执行某些操作所需的时间)。 我们使用Dotfuscator(或DashO for Java)作为我们的代码注入引擎,在编译后将新指令插入应用程序(类似于PostSharp的IL Weaving工作方式)。

Visual Studio 2010附带了此产品的免费版本。目前可以使用Beta 1,它将包含在未来的Beta版和Visual Studio的发行版中。 这将允许您检测任何.NET应用程序。

我在Visual Studio 2010中编写了一篇关于使用免费版本关联使用下载的博客文章,还有一篇博客文章概述了免费版本中包含的所有function。 我正计划撰写未来的博客文章,详细介绍如何向应用程序添加function级别跟踪和测量。

有关免费社区版中提供的function,您可以要求免费评估PreEmptive Solutions的商业版本。

您还可以看到这些其他StackOverflow问题:

Windows应用程序分析

观察或监视用户远程使用应用程序

要衡量下载量,请查看您的网络服务器的统计信息。

要衡量使用情况(可能是隐私问题),您将再次需要一个(Web)服务器。 只需在您的应用程序中使用URL嵌入图片框(也可能在设置中)并监视服务器上的点击量。