Installaware: How to add installation analytics

What is SoftMeter?

Quick answer: SoftMeter is "Google Analytics for desktop applications".

Longer answer: Google Analytics (GA) is the most popular website statistics tool. It shows statistics about the visitors to your website. Also, it is free. Apart from websites, GA can also track Firebase mobile apps.

SoftMeter application analytics and statisticsSoftMeter is a very small software library that extends the coverage of GA to include desktop applications (Windows and MacOS; IOS coming soon). Also, it has a free edition.

By including SoftMeter in your desktop application you will be able to see how users around the world use your application. Just like you monitor how the visitors' traffic on your website.

This blog describes how you can add installation analytics to your existing Installaware script.

With the installation analytics, you will be able to see the daily/monthly/yearly number of installations and uninstalls, the operating systems where the installations occur, the countries of your users and much more.

The described solution is composed of SoftMeter and Google Analytics (GA). You can use both for free.

From your Installaware install and uninstall script, you will make a call to the libSoftMeter.dll. This call will send an "Install" or "Uninstall" event to GA.

Overview of the tasks to add installation analytics for free:

  1. You create a new Google Analytics property (under your existing GA account, if you already have one to monitor your website traffic), and write down the new propertyID.
  2. You include libSoftMeter.dll into your installation package.
  3. You call the DLL from your Installaware script.
    Note: Installaware can do only single function calls to DLLs and the function calling convention should be __stdcall.
    This is why we created an all-in-one function that you can call by the name aio_sendEvent_stdcall()
    This function takes parameters like your application name, version, license, GA propertyID, eventValue, etc.
    When an installation is performed, put eventValue =1, and when an uninstall occurs, put eventValue = -1.
    This way, GA will automatically count the "net" installations.
  4. The call sends a hit to your GA property and you can monitor the installation statistics via the normal Google Analytics reporting.

Installaware screenshots and script

In lines 526 and 527 you can see that the script, clerverly enough, first checks if the SoftMeter DLL is included in the installation package. This allows you to disable/enable the installation analytics of your Installaware package just be removing/adding the DLL and without altering the script.

call dll from installaware installation analytics
Installation analytics: Preparation of the Installaware variables for the call to the SoftMeter DLL

The following two screenshots show the same call but they are slightly scrolled to show all parameters because the Installaware dialog is not resizable.

call dll from installaware installation analytics
Installation analytics: Installaware call to the SoftMeter DLL

call dll from installaware installation analytics
Installation analytics: Installaware call to the SoftMeter DLL

A similar call (not shown in the screenshots) must be made in the case of Uninstall with an eventValue of -1. This way, GA will measure the actual ("net") number of installations by removing the number of uninstalls.

As you can see the technical implementation is very simple.

See the complete SoftMeter implementation checklist to get started.

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

plain text with line breaks

  • Allowed HTML tags: <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <br>
  • No HTML tags allowed.
  • Lines and paragraphs break automatically.