SmartAssembly 8

Configuring reporting on multiple computers


Setting the reports database

To use Automated Error Reporting or Feature Usage Reporting on more than one computer, the error reports must be saved on a central database. To do this: 

  1. In the menu bar, click Options.
  2. Scroll to Reports Database Options.
  3. Select I want to store data in a SQL Server database.
  4. Click Choose...

  5. Enter the name of your SQL Server.

    If you have multiple instances of SQL Server running on the same computer, append the SQL Server instance name to the computer name, in the format computername\instancename.

    All computers which will be used for downloading error reports must be able to access the computer hosting the SQL Server instance.

  6. Click OK.


Setting the map file path

If your application is obfuscated, you must also be able to access the map file, which SmartAssembly uses to de-obfuscate error reports, from all of the computers.

You must set a map files location even if you only want to use feature reporting, not error reports.

To set the maps folder:

  • If the chosen SQL Server instance has not been used by SmartAssembly before, you will need to supply a network path where SmartAssembly can store map files.

    You can type the map folder path in a text box in Database Options section on click Choose... to open a folder browser:

  • If the chosen SQL Server instance has already been entered on another computer, the network path will be set automatically. To learn more go to About map files.

Changing the map folder location will have an immediate effect on all computers connected to the chosen database. Make sure the path is accessible and don't change it accidentally.

SmartAssembly must have read and write access to the network path where map files are stored from all of the computers that you will use to download the error reports.


Using SQL authentication

By default, SmartAssembly uses Windows authentication when connecting to the SQL Server. To use SQL authentication instead, follow these steps:

  1. Using an XML editor, open %ProgramData%\Red Gate\SmartAssembly 8\SmartAssembly.settings.
  2. Find the <Database> node.
  3. Check that the DatabaseEngine attribute is set to '1' (this means that SQL Server will be used for error reports, rather than SQLite file).
  4. Set the value of the Server attribute to the computer name and SQL server instance in the format MyServer\SQLExpress.
  5. Set the value of the DbCreatorConnectionString attribute as follows. This will be used to create the error reports database.
    Data Source=MyServer\SQLExpress; Initial Catalog=master; User
     Id=[YourUserName]; Password=[YourPassword]
  6. Set the value of the ConnectionString attribute as follows. This will be used for subsequent connections to the database.
    Data Source=MyServer\SQLExpress; Initial Catalog=SmartAssembly; User
     Id=[YourUserName]; Password=[YourPassword]

If you ommit the DbCreatorConnectionString attribute, SmartAssembly will use the ConnectionString attribute to create the database, and for any subsequent connections.

If you ommit both DbCreatorConnectionString and ConnectionString attributes, SmartAssembly will use a default connection string: Server={0};Integrated security=SSPI;database=SmartAssembly; (where {0} is the value of the Server attribute).

The resulting file should look like this:

<SmartAssembly.Settings> 
... 
  <Options> 
    <Database DatabaseEngine="1"
              Server="MyServer\SQLExpress"
              DbCreatorConnectionString="Data Source=MyServer\SQLExpress; Initial Catalog=master; User Id=[YourUserName]; Password=[YourPassword]"
              ConnectionString="Data Source=MyServer\SQLExpress; Initial Catalog=SmartAssembly; User Id=[YourUserName]; Password=[YourPassword]" /> 
  </Options> 
...
</SmartAssembly.Settings>

Configuring reporting on Azure

To learn how to configure error and feature reporting on Azure Pipelines automated builds see Configure error and feature reporting on Azure Pipelines.


Didn't find what you were looking for?