Reporting feature usage
Published 31 December 2012
Feature usage reporting provides you with information about the number of times that a feature has been used in your application. In addition, feature usage reporting automatically reports other system information, such as the end user's operating system and the highest version of .NET they have installed. You can use this information to help you to prioritize bug fixes, plan future development, and consider which features can be deprecated.
When you set up feature usage reporting in an application, a message is displayed when the end user runs the application, asking whether they would like to participate in the quality improvement program. The message is displayed on the first or second run, depending upon which template you choose in the SmartAssembly project. Note that the end user will not be asked whether or not to participate if you select the Automatic (without dialog box) standard template.
If the user has consented, whenever your application is closed, your application sends a report containing the number of times that each feature was used in that session. (If no internet connection is available, the report is not sent.)
For example, assume that an end user ran your application from 10am-11am. At 11am, your application will report all of the features in your application that were used between 10am-11am.
The end user's decision whether to consent to feature usage reporting is saved in the registry. We recommend that you provide an option in your application to allow your end users to change their mind, without having to edit the registry manually. For more information about this registry key, see How end users can change their participation in Feature Usage Reporting.
To set up feature usage reporting, you must instrument your code. For information, see Setting up feature usage reporting.