For Automatic Error Reporting, yes, your solution is the best one: create a custom template using the UnhandledExceptionHandler and only report if some saved setting is set.
For Feature Usage Reporting, the best thing to do would be to set the registry key that the other templates provided by SmartAssembly would normally set when consent is given. That registry key is HKEY_CURRENT_USER\\Software\\[CompanyName]\\[ApplicationName]\\SmartAssemblyReportUsage Set the value to True if the user gives consent, or set it to False if the user does not consent. Use the Automatic template as normal. Features are not reported by the Automatic template if the value of this key is False. Note: this is not accurate. See the correction post below.
Last edited by dom.smith
on Tue Apr 03, 2012 1:35 pm, edited 1 time in total.