Mobile SDK for Windows Apps2.0
Transforming Windows apps into Mobile apps
Getting Started

There are a number of things that need to happen before you start programming for Citrix Mobile SDK for Windows Apps.


The requirements for each SDK version are listed below.

  SDK Version 1.0 SDK Version 2.0
Development Environment    
Development operating system Microsoft Windows 7 (x64) or Windows 8
Development platforms Microsoft Visual Studio 2010 SP1 or 2012
Microsoft .NET Framework 3.5 SP1 and 4.0
Microsoft Windows SDK 7.1 (for C++ location support)
Runtime Environment    
XenApp XenApp 6.5
  • HRP01 must be installed
  • Microsoft .NET Framework 3.5 SP1 and .Net 4.0
XenApp 6.5
  • HRP02 must be installed
  • Microsoft .NET Framework 3.5 SP1 and .Net 4.0
XenDesktop XenDesktop 5.6
  • FP1 must be installed
  • Microsoft .NET Framework 3.5 SP1 and .Net 4.0
XenDesktop 7.0
  • Microsoft .NET Framework 3.5 SP1 and .Net 4.0
Not yet supported
Mobile Devices    
Android Citrix Receiver for Android 3.1.170 or later Citrix Receiver for Android 3.4 or later
iOS Citrix Receiver for iOS 5.6.1 or later Citrix Receiver for iOS 5.8 or later

Please refer to the Install Guide for the Citrix Mobility Pack.

Programming Interface

Once everything is setup, there are a few more things to know. We currently support three type of interfaces.

  • C/C++
  • COM
  • C# with COM Interop

The C/C++ interface uses CMPAPI/CMPAPI64.LIB with CMPAPI/CMPAPI64.DLL. The slash indicates that both 32-bit and 64-bit versions exist.

  • CMPAPI.LIB and CMPAPI.DLL (32-bit)
  • CMPAPI64.LIB and CMPAPI64.DLL (64-bit)

The include file to use for C/C++ is cmp.h.
cmp.h includes other relevant CMP include files automatically.

Directories and References

The SDK install will by default place the relevant files in:

  • "Program Files\Citrix\MobilitySDK" for a 32-bit system
  • "Program Files (x86)\Citrix\MobilitySDK" for a 64-bit system

The subdirectories of the "MobilitySDK" directory are:

  • bin
  • doc
  • inc
  • lib

The bin directory has two subdirectories:

  • x64
  • x86

The DLLs are only present for reference. The .NET COM Interop file (Interop.CitrixMobility.dll) is necessary for referencing from C# programs. Also, it is necessary to register the COM components for .NET COM Interop.

To register the COM objects for CitrixMobility, run the following lines:

32-bit (x86): Regsvr32 cmpcom.dll

64-bit (x64): Regsvr32 cmpcom64.dll

The two most important directories are inc and lib.

The inc directory contains all the important include files for Citrix Mobility Pack. The lib directory has the cmpapi libraries for both 32-bit and 64-bit.

For C/C++ programs, include "cmp.h" with the include path including the above "MobilitySDK\inc" directory. Also, link to the libraries from "MobilitySDK\lib" directory. Be sure to use the correct version based on being either 32-bit or 64-bit.

For programs using COM directly, include either "cmpcom.h" or "cmpcom64.h" depending on which platform is being build. It is not necessary to link to cmpapi library for COM. C# programs need to add a reference to the CMP COM Object. This can either be done by directly referencing the COM object or by using the COM Interop assembly provided.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Events Defines