Custom reports

Aug 14, 2017

Custom reports are reports that you define. You can base custom reports on existing algorithms and algorithm groups or new ones that you write. For example, suppose you are preparing to migrate to Windows Server 2012 and a 64-bit platform and want one combined report rather than separate reports for each platform. You can create a custom report that is based on the algorithms in both the Windows Server 2012 and the 64-bit reports. You can also create new algorithms based on your own specialized knowledge of your environment.


AppDNA does not restrict the number of custom reports that you can create or the number of algorithm groups you can add to a custom report. However, each additional custom report adds to the size of the database and adds another column to the Overview Summary report. This can eventually lead to the Overview Summary report becoming unreadable or all of the available disk space being used up. Similarly each algorithm group adds a column to the Application Issues report view and a bar to the bar chart in the Issues View. These can become unreadable if you add too many algorithm groups. The Application Actions report view and the Actions View can be affected in a similar way if you add too many algorithms.

Desktop applications vs. web applications

Important: Citrix recommends that you do not mix web application algorithms and desktop application algorithms in a custom report and that you name your custom reports carefully to make it clear whether they are designed for desktop or web applications.

The Custom Reports Manager screen is flexible and it does not restrict you from adding a mixture of web and desktop algorithms in a custom report. Similarly, AppDNA does not restrict which applications you can analyze against a custom report. This means that it is possible to create a custom report that mixes algorithms from both desktop and web applications. Depending on the algorithms involved, this may not make much sense.

OS image-dependent algorithms

Some of the AppDNA algorithms test applications for dependencies on features that are provided by the operating system (OS). When relevant, these tests interrogate the OS image DNA that has been loaded into the AppDNA database – for example, to find out whether features have been enabled in the image. These are called image-dependent algorithms.

If you add any image-dependent algorithms to a custom report, AppDNA adds an entry for the custom report to the OS image settings. Use this to select the default OS image for the custom report.

Note: You cannot add image-dependent algorithms from more than one AppDNA report to the same custom report. If you attempt to do this, AppDNA displays a message explaining that this is not possible.

For an overview of how AppDNA uses OS images, see Operating systems.

Templates for new algorithms

AppDNA comes with a number of templates for creating new algorithms in custom reports. When you create a new algorithm that you define yourself, you select the template you want to use from a drop-down list on the final page of the New Algorithm wizard (as described in Create custom reports).

Each template defines an issue that, when found in an application, triggers the algorithm. The template defines a generic issue and you enter a specific value. For example, if the generic issue is that the application contains a particular file or installs to a specific path, you enter the particular file or path that causes the problem.

The templates provide an example value that you then edit to meet your specific requirements. You can use the percent sign (%) as a wildcard character to match zero or more characters. The following table lists the templates that are available and the example value.

Application triggers algorithm if Example value
It has a specific file filetofind.ini
It installs to a specific path D:\SomePath%
It sets a specific registry entry HKEY_LOCAL_MACHINE\Software\MyApplication
It has an INI file that contains specific contents FileContentMatchString
Its installer contains a custom action with specific contents CustomActionMatchString
It imports APIs from a particular file msvbvm%.dll

When using the registry entry template, you can search for a key and value name. To do this, prefix the value name with two backslashes (\\). For example, to find all services with a port value, use: HKEY_LOCAL_MACHINE\%services%\\port.

Advanced users can create raw SQL queries to define the logic for new custom report algorithms. However, Citrix cannot guarantee that these will work in future versions of AppDNA because the structure of the database may change from version to version.

Custom Reports Manager screen

Use the Custom Reports Manager screen to create and manage custom reports.

To open the Custom Reports Manager screen:

  • From the AppDNA menus, choose Configure > Custom Reports.

The Custom Reports Manager screen is split vertically:

Right side – Displays a tree view that lists all of the existing reports. You can expand the reports to see the algorithm groups they contain and in turn you can expand the algorithm groups to see the algorithms inside. Reports that are unlicensed are not available.

Left side – Displays any custom reports that have already been created – also in a tree view. You can right-click the items on the left side to access a shortcut menu, which provides options to add, edit, copy, and delete items, and view and change their properties. The options in the shortcut menu vary according to the type of item. For example, you cannot edit an algorithm that you have copied from one of the standard reports, although you can delete it from the custom report. If the left side is blank, it means that no custom reports have been created.

You can drag algorithm groups and individual algorithms from the standard reports on the right side of the screen to a custom report on the left side. This effectively copies the items into the custom report. You can also create algorithms that you define yourself, as described below. You can copy algorithms that you define yourself from one custom report or group to another. To do this, find the new algorithm on the left side of the screen, right-click and from the shortcut menu, choose Copy to.

To search the standard reports on the right side of the screen for algorithms and algorithm groups by all or part of their names: Use the Search button on the toolbar. For example, you can search for algorithms and algorithm groups that have the text “driver” in their name.

After creating a custom report, you need to analyze your applications against it before you can view the results in the Report Viewer. You can optionally initiate the analysis in this screen after you have finished creating the report. To do this, click Analyze on the toolbar. Alternatively, you can run the analysis later in the normal way.

To download an XML representation of an entire custom report, or selected algorithm groups and algorithms within a custom report: Click Export on the toolbar. This is useful for providing a custom report to other AppDNA installations or performing a backup. To load a custom report that was previously exported, click Import on the toolbar. To import algorithm groups into an existing custom report, right-click the custom report in the tree on the left side of the screen and choose Import Groups. To import algorithms into the group, right-click a custom report algorithm group and choose Import Algorithms.