Archive: Installation Tracking


Installation Tracking
What I want to be able to do is be able to hit an ASP or PHP page on a server whenever an installation is performed. The point of this is to get a count of how many people are actually installing the product. Is there a way to do an HTTP request or something similar inside of the installer script?


From the help file :

ExecShell"open""http://nsis.sf.net/"

Please note that some users may see this as a breach of privacy.

More invasively, you could write to a cookie on each install that says what version is installed - so that when the webpage is visited, and there is a newer version, your site can simply tell them so; without the need to implement update-checking in the installer itself which may, eventually, go broken if you change the URL to get update information from around.

Actually, I guess you might not want the user to actually -visit- that page, and just get a hit in your logs.

If so, you'll have to use the plugin after all :)
http://nsis.sourceforge.net/How_can_...m_the_internet

I think this one may be more appropriate though - it doesn't actually download a file, just returns the status for the URL passed:
http://nsis.sourceforge.net/Internet_plugin


I really just want to do a behind-the-scenes request to a URL like this:

http://www.domain.com/trackingpage.asp?type=program1

Then on the server that page would just add 1 to the install count of the application named program1. The ASP part is easy, it's how to hit that URL that I did not understand.

I am not sure if I need any of that info from the plugin. I guess I could use some of it to try to make sure that the installation is unique...


You can use one of 2 plug-ins: NSISdl (included to distribution package) or InetLoad. To hide InetLoad activity use /silent key.


considering you're using an ASP page, you do actually need to 'serve' the page - meaning that the installer will have to actually request the page. the dl plugin will allow you to download the page, I think that should do the trick - then just delete afterwards.


I am pretty new to working with this installer stuff, so excuse my ignorance. How would I go about using one of these plugins?


Start menu -> Programs -> NSIS -> Contrib -> NSISdl Readme
To use InetLoad first download InetLoad.zip, then extract InetLoad.dll and put it to Program Files\NSIS\Plugins folder. Zip also includes Readme and free samples :).