Develop using the SDK

Aug 14, 2017

This article explains how to access and use the AppDNA SDK.

For more information about the data available from the SDK, see Data available using the SDK.

For the full SDK reference, see the class-reference documentation at

You can download a sample solution that uses the SDK from . For code samples that you can use as a basis for your own scripts, go to and click on Exchange Forum.

The SDK is installed with the AppDNA desktop client. The SDK is available as a set of .NET 4.0 assemblies and some associated files. If you are developing a .NET application that uses the SDK, you must:

  • Run the .NET project as a 32 bit x86 process.
  • Reference the Citrix.SDK.AppDNA.dll from within your project. The dll is located in the Client folder of the AppDNA installation, typically: Program Files\Citrix\AppDNA\Client\Citrix.SDK.AppDNA.dll.

Once referenced, Visual Studio imports all the files that the SDK dll depends upon into your application’s build output folder. If you distribute your application, you must also distribute these files with the application, including the following files which are not automatically imported by Visual Studio:

  • bzip2.dll
  • MsiContentExtractor.dll
  • Mono.Cecil.dll
  • MsiFileExtractor.exe
  • PeDotNumper.exe
  • PeDumper.exe

All the types exposed by the SDK are in the Citrix.SDK.AppDNA namespace. All the code samples alias this namespace with: using AppDNA = Citrix.SDK.AppDNA;


The SDK has the same Windows Administration requirements as the AppDNA client. This means that the SDK runs as a normal user and should not require further rights.

The AppDNA credentials passed to the Server.Connect function determine what actions are permitted from within the SDK, exactly as for the AppDNA client.

Overview of the Steps

This section provides an overview of the main steps you perform when using the AppDNA SDK. These steps are common, regardless of where you are inputting data from, and of what data you are outputting from the reports. The steps are:

  1. Connect to the server. You connect to the AppDNA server to obtain a server object which you can then use to interact with the AppDNA data.
  2. Import applications. Before applications can be analyzed, they must be imported into AppDNA. The SDK provides different import methods as well as the ability to import multiple applications. You can use application attributes to assign user-defined values to applications in AppDNA.
  3. Analyze applications. After importing applications, you analyze the application DNA and generate the report data. The SDK provides different methods depending on whether you are analyzing single or multiple applications.
  4. Use report data. You retrieve the report data generated from AppDNA’s analysis. The SDK provides the ability to export different report views or retrieve data only for specific applications.

The other topics in this section describe each of these steps in more detail.