SDK Add-On Creator

Why create an add-on?

An add-on gives the possibility to execute or control a new type of program or connection that is not currently supported by Remote Desktop Manager. You can add your own homemade process developed by your company or any other commercial product. By customizing the configuration window, you can integrate all the parameters and settings to suit your needs.

If you develop an add-on of a commercial product, you can share it with the RDM community and help us to enhance our software.

Once installed an add-on simply adds a new entry type in RDM, as if it was built-in right from the beginning. The integration is not noticeable because the new entry type is simply added to the list. Once you’ve adjusted the settings using the configuration dialog that was provided with the Add-on, you can use it as any other.

Requirements

  • All add-ons must be developed using the .NET Framework 4
  • A minimal knowledge of C# / VB .NET is required
  • Use a tool like Visual Studio or SharpDevelop to create the library and compile the code

All the development of our product is done using the Microsoft StyleCop coding standard; we recommend this tool to ensure the code quality and readability. This will simplify your code deployment if you decide to share it with the community.

Session Add-On

This add-on type will add a new connection type to the application. It will be added to the available list. There are two supported modes:

External mode:

This mode usually executes an external process or COM Object. This add-on gives you the same possibilities as the Command Line entry type to start a process. You can launch any process you want with any required parameters. Once it is running, you can close it either by the application itself or by using the built-in functionality of RDM.

Embedded / tabbed mode:

RDM expects the add-on to return a UserControl that will be embedded directly in the application. It will be displayed in a MDI child or as a tab page. This is usually used to integrate an existing ActiveX (Adobe Acrobat, Internet Explorer ...) or a .NET component (shell tree view, FTP, RichTextEditor ...).

VPN Add-On

This type of add-on is used to open and close a specific VPN connection. It will be listed only in the VPN type list. The implementation is nearly the same as a session add-on with some VPN specific methods.

Import Add-On

This type of add-on is used to extend the import functionality of the application. The typical scenario is:

  • The add-on return the list of available sessions and RDM
  • The user select the one he wants from the proposed list
  • The add-on receives the selected session list and fills the information for each item into new session
  • The session is saved and the user can use it

Application Tool Add-On

This type of add-on is used to add new configured tool in the menu Tools. The configured tool will be listed in the application.

This tool must not be specific to a session not related to a session.

Session Tool Add-On

This type of add-on is used to extend a session with a tool. The tool will use the available settings from the session to execute.

An example could be an add-on to do a remote shutdown, the add-on will use the configured machine name to execute the Windows application shutdown.exe.

Data Source Add-On

This type of add-on is used to add or extend the application with a new data source type. By implementing this add-on type, it's possible to support different database types or different security models.

This type of add-on is only available in the Enterprise edition.

Description - SDK 1.0 (Before version 6.0)

The SDK 1.0 is used to create add-ons for version 5.8 and 5.9 only.

Download_ArrowDownload SDK 1 Help

Note: If you're seeing this, you have to unblock the file in its properties in order to view it.

SDK 1 Schema SDK 1.0 Schema

Description - SDK 2.0

With the release of Remote Desktop Manager 6.0, we updated the SDK and exposed a lot of new functionalities. Check the "what's new" below to see the list. For more details, check the documentation and the schema.

Download_ArrowDownload SDK 2 Help

Note: If you're seeing this, you have to unblock the file in its properties in order to view it.

SDK 2 Schema
SDK 2.0 Schema

What's new in SDK 2

IAddOnServices2
  • Added the ApplicationIcon property
  • Added the DisableLocalPassword and DisableSharedPassword properties
  • Added DefaultFont property
  • Added GetApplicationSetting / SaveApplicationSetting to read an option from the application xml
  • Added GetGlobalAddOnSettings / SaveGlobalAddOnSettings to save add-on specific shared setting
  • Added a standard way of showing a message (ShowMessage)
  • Added a standard ShowWaitProgress / HideWaitProgress methods
  • Added ShowRequiredInstall message box
  • Added ShowLogFile to show a string content
IApplicationToolAddOn
  • The application now handles correctly an embedded UserControl
IEmbeddedSessionUserControl2
  • Added a property (CanClose) to indicate if the user control can be closed
  • Added a list special commands that can be executed for opened session. Ex: Send Ctrl+Alt+Delete
  • Added a notification (Disconnecting) called just before the disconnection
  • Added a method used for reconnect
ISession2
  • Added a direct access to the add-on session properties (ISessionAddOnData)
  • Added the CredentialConnectionID property
ISessionAddOn3
  • Added credential repository support and batch credential support
  • Added log closed session support
  • Added a list of custom action for a session. For example, this could be used to stop a virtual machine
  • Added the reconnection functionality
  • Added a list of keyword for the session type
  • Exposed ConnectExternal with more parameters
  • Exposed CreateEmbeddedFrame with more parameters
  • Added the possibility to return the session details (GetParameterDetails)
ISessionDataSourceAddOn (Enterprise Only)
  • Added the possibility to create a custom data source with basic functionality
ISessionEditorUserControl2
  • Added the possibility to expose the host (for example, this could be used to find the MAC address)
  • Added a property (ParentDialog) to communicate with the parent dialog for assigning and clearing the image
  • Added a notification (NotifyCredentialRepositoryModeChanged) when the credential repository mode is changed
ISessionToolAddOn2ISessionToolAddOn2
  • Added the possibility to execute a tool on multiple sessions at the same time.
IVPNAddOn2
  • Added credential repository support

Tutorials

We've created a tutorial to show the basics of building an NotePad add-on for Remote Desktop Manager.

Many other samples with source code are available here.

Tips

  • The add-on framework offers many services. Use the static method of the class AddOnServices to:
    • Encrypt / decrypt a saved password in your Add-on
    • Register an installation path setting
    • Add some log entry to the application log file
  • To ensure the security of the information, it’s recommended to use the PasswordTextBox control for you sensitive data. This component does not expose the password like the default Textbox of the .NET Framework.
  • Another useful class is ProcessArgumentBuilder. This class is used to generate a command line parameter string.

Most Wanted Add-Ons

If you want to participate in the development of one of these add-ons, please contact us.
We could discuss of a monetary compensation for the work.

  • Adminpak add-on
  • Croosloop add-on**
  • Cygwin add-on
  • Go2MyPC add-on
  • Mikogo add-on
  • MultiDesk add-on**
  • NetViewer add-on
  • Quest vWorskpace add-on
  • Remotely Anywhere add-on
  • TN5250 add-on

** Unable to integrate at the moment.