Developing Windows Desktop and Server Applications

The following are the basic Synergy .NET development steps for Windows desktop and server applications. Most of these steps outline Visual Studio procedures, so see Visual Studio documentation for full information.

This topic does not discuss Universal Windows Platform (UWP) development. For information on UWP, see Developing for Universal Windows Platform.

1. Start by reviewing Synergy .NET Requirements. Your development machine and the Visual Studio projects you develop must meet the requirements listed in that section.
2. Set options for your Visual Studio environment. For example, you can control the behavior of the Visual Studio code editor and the way IntelliSense works for Synergy DBL files. See Options for Synergy/DE projects.
3. In Visual Studio, create a project for each assembly in your application. For example, to create a console application (an application that runs from the command line), select File > New Project, select Synergy/DE from the Installed Templates area of the New Project Dialog, and then select Console Application from the list of project types. You’ll then need to set a few options for the project (name, location, and so forth) in the New Project Dialog. Note the following:
4. Add DBL code, references to needed assemblies, and other items to your project.
5. Set project properties, which include settings for licensing, deployment, and building/compiling. See Synergy/DE project properties. For information on setting environment variables for a project, see Using environment variables with Synergy .NET.
6. Build and debug the project in Visual Studio. See Visual Studio documentation for information on build features and the debugger, and see Debugging Synergy .NET Code.
7. Deploy your application. See Microsoft documentation.

ClickOnce Deployment for Synergy .NET


Use ClickOnce only for very simple deployments for Synergy .NET Windows desktop applications. ClickOnce deployment is not supported for Universal Windows Platform (UWP) applications or traditional Synergy.

ClickOnce is a Microsoft deployment technology that enables you to deploy self-updating, self-contained Windows desktop applications that don’t require administrative access to user systems. Setting up ClickOnce deployment can be as easy as setting properties on the Publish page of Project Designer and then clicking a publish button, but you may need to do more. For example, you may need to specify a Synergy license server.

Synergy .NET supports ClickOnce deployment through the following:

See Microsoft documentation for more information on ClickOnce deployment.


All ClickOnce deployments of Synergy applications should be to systems with Synergy/DE. The development system and target systems must have the same version of synrnt.dll and the same hotfixes, if any have been applied. And if you use the Synergy HTTP document transport API or OpenSSL libraries for Synergy data encryption, the system must have OpenSSL DLLs and either httpslib.dll or synssllib.dll. (See Synergex KnowledgeBase article 100001979 for more information.)

Processor-independent application assemblies are not supported. Synergy applications deployed with ClickOnce must be built for either x86 or x64.

Although it is not supported, you may be able to deploy to a system that does not have Synergy/DE if your application doesn’t use HTTPS (with the Synergy HTTP document transport API), SQL Connection, or encryption (including xfServer). If you attempt this, note the following:

  • The Visual C++ components of Visual Studio must be installed on the development machine.
  • The following must be installed on target machines before deployment with ClickOnce: Visual C++ 2012 Runtime Libraries (x64) and Visual C++ 2012 Runtime Libraries (x86).
  • You must set a Synergy license server for ClickOnce deployment on the Runtime Settings page of the Project Designer. This is required whenever a target machine has not been configured for Synergy licensing.
  • You must set the Publish Status for synrnt.dll to “Include”, rather than “Prerequisite”. (Publish Status can be set in the Application Files dialog, which opens when you click “Application Files” on the Publish page of the Project Designer.)
  • If your application uses syntxt.ism and syntxt.is1, you must add them (Project > Add Existing Item) to the Visual Studio project.