2011-09-19 103 views
1

问题出在这里。我们有一些软件,有免费版和付费版。如何跟踪软件下载源

该软件是一个EXE下载,它设置了软件。我们希望获得最多销售额的方式来自下载免费版本的人员,然后决定他们现在想要为其支付的软件中的各种链接并解锁新功能。

目前我们运行多个广告系列来吸引访问者访问我们的网站。我们知道访客来自我们的Reddit活动,下载了我们的软件,然后从所有意图和目的中消失。如果他们使用该软件并希望支付费用,则他们点击该软件中的链接,并且该购买是匿名的。

我们想要做的是当他们下载软件时,不知何故它会在其安装目录中生成一个文本文件,并在其中下载源代码。这个文件将包含像“reddit1”这样的数据,以表明它们来自于分发活动#1。然后,软件中的每个链接都会通过GET请求发送该变量,以便我们知道销售的实际来源。

什么我们不能找出最好的办法,是当我们在网站上有它的源代码的变量时,如何将它传递给EXE下载,以便在安装时生成数据文件?我们不希望为我们运行的每个广告系列提供多次下载。

回答

2

我们设法通过传递一个id为文件名,如要解决这个问题:

setup_221.exe 

其中221 =的转诊。安装程序可以将referal ID并将其保存到目录中,然后将其传递到将其转换为实际活动的网站。

+0

您可以简要概述一下您是如何完成的,将唯一ID传递给.exe?我们有一个项目需要做同样的事情,这个过程对我们很有用,但不确定动态屏蔽/更改.exe文件的方法。 – harvmob

0

下载开始时是否生成exe文件的选项?如果是这样,那么你可以添加文本文件。

+0

问题是下载是在EXE上,我们可以生成一个文本文件,但它去哪里?我们不希望人们下载多个文件,只有一个exe文件设置文件 –

1

一种方法是要求客户在下载前完成一些细节,以便您可以唯一标识他并给他一个序列号。

下载完成后,第一次运行,软件会询问用户串口号 ,然后向服务器发出请求并获取与该用户相关的所需详细信息,如活动等。

当用户想要更新他的许可证时,软件将向服务器询问基于该用户的链接。

+0

好主意,但是因为我们的下载托管在多个下载网站上,所以这不是一个真正的选择。我们希望人们能够下载它并去,没有序列号生成或类似的东西。 –

1

(前提是你使用.NET,其中,从您的其他问题,这似乎是这样......)

也许你没有你的产品的多个版本,但仍多每个广告系列的EXE。您可以在下载时通过使用ILMerge将轻量级“引用程序”程序集合并到最终的EXE中,从而保持甚至可能自动执行这些“一次性”构建。您的引用程序程序集应该尝试在运行时由主要产品EXE加载,如果发现它,则可以修改其引用参数。