In This Article

Deployment

Deployment Steps

There are two main steps to follow when deploying an application that uses Actipro control products.

Configure Licensing

Please read the Licensing topic for details on the two options for applying purchased licenses. Once configured properly, your license data will either be applied via code or embedded into your application by the build process.

Include Redistributable Assemblies

Next, simply copy the appropriate redistributable assemblies to the same folder as your application's executable on the target machine. Nothing else needs to be deployed.

This table describes where referenced assemblies appear after project compilation:

Reference Kind Description
NuGet package reference The referenced assemblies will be in your bin folder after compilation.
Assembly reference The referenced assemblies will be in your bin folder after compilation if the "Copy Local" property on the reference (via the Visual Studio Properties window) is set to true.

Redistributable Files

When you own a license for WPF Studio (our large control bundle), WPF Essentials (our smaller control bundle), or one of their individual products, you are licensed to redistribute certain files with your application.

The tables below show the product assemblies that may be redistributed based on the product(s) for which you own licenses.

Individual Products

This table shows the product assemblies that may be redistributed based on individual products for which you own licenses, and includes their source NuGet packages:

Actipro Product Redistributable Assemblies and Related NuGet Packages
Bar Code
  • ActiproSoftware.BarCode.Wpf.dll (via ActiproSoftware.Controls.WPF.BarCode NuGet package)
  • ActiproSoftware.Shared.Wpf.dll (via ActiproSoftware.Controls.WPF.Shared NuGet package)
Bars
  • ActiproSoftware.Bars.Wpf.dll (via ActiproSoftware.Controls.WPF.Bars NuGet package)
  • ActiproSoftware.Shared.Wpf.dll (via ActiproSoftware.Controls.WPF.Shared NuGet package)

Optional companion to the Bars product that supports easy MVVM integration is also licensed:

  • ActiproSoftware.Bars.Mvvm.Wpf.dll (via ActiproSoftware.Controls.WPF.Bars.Mvvm NuGet package)
Charts
  • ActiproSoftware.Charts.Wpf.dll (via ActiproSoftware.Controls.WPF.Charts NuGet package)
  • ActiproSoftware.Shared.Wpf.dll (via ActiproSoftware.Controls.WPF.Shared NuGet package)
Docking/MDI
  • ActiproSoftware.Docking.Wpf.dll (via ActiproSoftware.Controls.WPF.Docking NuGet package)
  • ActiproSoftware.Shared.Wpf.dll (via ActiproSoftware.Controls.WPF.Shared NuGet package)
Editors
  • ActiproSoftware.Editors.Wpf.dll (via ActiproSoftware.Controls.WPF.Editors NuGet package)
  • ActiproSoftware.Shared.Wpf.dll (via ActiproSoftware.Controls.WPF.Shared NuGet package)

Optional interop with PropertyGrid if Grids is also licensed:

  • ActiproSoftware.Editors.Interop.Grids.Wpf.dll (via ActiproSoftware.Controls.WPF.Editors.Interop.Grids NuGet package)

Optional interop with the Microsoft DataGrid:

  • ActiproSoftware.Editors.Interop.DataGrid.Wpf.dll (via ActiproSoftware.Controls.WPF.Editors.Interop.DataGrid NuGet package)
Gauge
  • ActiproSoftware.Gauge.Wpf.dll (via ActiproSoftware.Controls.WPF.Gauge NuGet package)
  • ActiproSoftware.Shared.Wpf.dll (via ActiproSoftware.Controls.WPF.Shared NuGet package)
Grids
  • ActiproSoftware.Grids.Wpf.dll (via ActiproSoftware.Controls.WPF.Grids NuGet package)
  • ActiproSoftware.Shared.Wpf.dll (via ActiproSoftware.Controls.WPF.Shared NuGet package)
Micro Charts
  • ActiproSoftware.MicroCharts.Wpf.dll (via ActiproSoftware.Controls.WPF.MicroCharts NuGet package)
  • ActiproSoftware.Shared.Wpf.dll (via ActiproSoftware.Controls.WPF.Shared NuGet package)
Navigation
  • ActiproSoftware.Navigation.Wpf.dll (via ActiproSoftware.Controls.WPF.Navigation NuGet package)
  • ActiproSoftware.Shared.Wpf.dll (via ActiproSoftware.Controls.WPF.Shared NuGet package)
Ribbon
  • ActiproSoftware.Ribbon.Wpf.dll (via ActiproSoftware.Controls.WPF.Ribbon NuGet package)
  • ActiproSoftware.Shared.Wpf.dll (via ActiproSoftware.Controls.WPF.Shared NuGet package)
Shell
  • ActiproSoftware.Shell.Wpf.dll (via ActiproSoftware.Controls.WPF.Shell NuGet package)
  • ActiproSoftware.Grids.Wpf.dll (via ActiproSoftware.Controls.WPF.Grids NuGet package)
  • ActiproSoftware.Shared.Wpf.dll (via ActiproSoftware.Controls.WPF.Shared NuGet package)
SyntaxEditor
  • ActiproSoftware.SyntaxEditor.Wpf.dll (via ActiproSoftware.Controls.WPF.SyntaxEditor NuGet package)
  • ActiproSoftware.Text.LLParser.Wpf.dll (via ActiproSoftware.Controls.WPF.SyntaxEditor NuGet package)
  • ActiproSoftware.Text.Wpf.dll (via ActiproSoftware.Controls.WPF.SyntaxEditor NuGet package)
  • ActiproSoftware.Shared.Wpf.dll (via ActiproSoftware.Controls.WPF.Shared NuGet package)

SyntaxEditor .NET Languages Add-on *

  • ActiproSoftware.SyntaxEditor.Addons.DotNet.Wpf.dll (via ActiproSoftware.Controls.WPF.SyntaxEditor.Addons.DotNet NuGet package)
  • ActiproSoftware.Text.Addons.DotNet.Wpf.dll (via ActiproSoftware.Controls.WPF.SyntaxEditor.Addons.DotNet NuGet package)
  • ActiproSoftware.Text.Addons.DotNet.Roslyn.Wpf.dll (via ActiproSoftware.Controls.WPF.SyntaxEditor.Addons.DotNet NuGet package)

SyntaxEditor Python Language Add-on *

  • ActiproSoftware.SyntaxEditor.Addons.Python.Wpf.dll (via ActiproSoftware.Controls.WPF.SyntaxEditor.Addons.Python NuGet package)
  • ActiproSoftware.Text.Addons.Python.Wpf.dll (via ActiproSoftware.Controls.WPF.SyntaxEditor.Addons.Python NuGet package)

SyntaxEditor Web Languages Add-on *

  • ActiproSoftware.SyntaxEditor.Addons.JavaScript.Wpf.dll (via ActiproSoftware.Controls.WPF.SyntaxEditor.Addons.JavaScript NuGet package)
  • ActiproSoftware.Text.Addons.JavaScript.Wpf.dll (via ActiproSoftware.Controls.WPF.SyntaxEditor.Addons.JavaScript NuGet package)
  • ActiproSoftware.SyntaxEditor.Addons.Xml.Wpf.dll (via ActiproSoftware.Controls.WPF.SyntaxEditor.Addons.XML NuGet package)
  • ActiproSoftware.Text.Addons.Xml.Wpf.dll (via ActiproSoftware.Controls.WPF.SyntaxEditor.Addons.XML NuGet package)
Views
  • ActiproSoftware.Views.Wpf.dll (via ActiproSoftware.Controls.WPF.Views NuGet package)
  • ActiproSoftware.Shared.Wpf.dll (via ActiproSoftware.Controls.WPF.Shared NuGet package)
Wizard
  • ActiproSoftware.Wizard.Wpf.dll (via ActiproSoftware.Controls.WPF.Wizard NuGet package)
  • ActiproSoftware.Shared.Wpf.dll (via ActiproSoftware.Controls.WPF.Shared NuGet package)

* Add-ons marked with an asterisk are sold separately from SyntaxEditor and its containing bundles. See this documentation for more details on licensing these add-ons.

Bundles

This table shows the two bundles that allow groups of Actipro control products to be licensed at a large discount:

Actipro Bundle Description
WPF Studio

Available via the ActiproSoftware.Controls.WPF NuGet metapackage, and includes these products:

  • Bar Code
  • Bars
  • Charts
  • Docking/MDI
  • Editors
  • Gauge
  • Grids
  • Micro Charts
  • Navigation
  • Ribbon
  • Shell
  • SyntaxEditor
  • Views
  • Wizard
  • Shared Library
WPF Essentials

Includes these products:

  • Bars
  • Docking/MDI
  • Editors
  • Navigation
  • Ribbon
  • Wizard
  • Shared Library

Others

There are several other optional assemblies that can be redistributed, some of which don't have NuGet packages available.

Legacy assemblies contain old deprecated code that is intended for backwards compatibility only. It is encouraged to not use these assemblies and switch to the current assemblies listed in the table above instead.

Name Description
Aero Themes

Includes optional Windows 7 and Office 2010-like Aero themes. Not needed unless those older themes are required for your application. Licensed for all licensed customers.

  • ActiproSoftware.Themes.Aero.Wpf.dll (via ActiproSoftware.Controls.WPF.Themes.Aero NuGet package)
DataGrid Contrib

Optional additional features and themes for the Microsoft WPF DataGrid. Open source and licensed for all licensed customers.

  • ActiproSoftware.DataGrid.Contrib.Wpf.dll
SyntaxEditor ANTLR Integration

Optional integration of SyntaxEditor with ANTLR v3 parsers. Licensed for customers who have licensed SyntaxEditor individually or via a bundle.

  • ActiproSoftware.Text.Addons.Antlr.Wpf.dll
SyntaxEditor Irony Integration

Optional integration of SyntaxEditor with Irony parsers. Licensed for customers who have licensed SyntaxEditor individually or via a bundle.

  • ActiproSoftware.Text.Addons.Irony.Wpf.dll
Legacy

Several deprecated common controls, licensed for all licensed customers.

  • ActiproSoftware.Legacy.Wpf.dll
Editors (Legacy)

Licensed for customers who have licensed Editors individually or via a bundle, as these contain the old Editors codebase prior to the 2017.1 version.

  • ActiproSoftware.Editors.Legacy.Wpf.dll
  • ActiproSoftware.Editors.Interop.DataGrid.Legacy.Wpf.dll
  • ActiproSoftware.Editors.Interop.PropertyGrid.Legacy.Wpf.dll
  • ActiproSoftware.Editors.Interop.Ribbon.Legacy.Wpf.dll
PropertyGrid (Legacy)

Licensed for customers who have licensed PropertyGrid (predecessor to Grids) individually or via a bundle, as these contain the old PropertyGrid codebase prior to the 2017.1 version.

  • ActiproSoftware.PropertyGrid.Legacy.Wpf.dll
  • ActiproSoftware.PropertyGrid.Interop.WinForms.Legacy.Wpf.dll

Default Assembly Install Folders

When the WPF Controls installer is run on a machine, .NET Framework redistributable assemblies are all installed to this folder by default:

<Drive>:\Program Files (x86)\Actipro Software\WPF-Controls\<Version>\Assemblies\

Note that .NET and .NET Core assemblies are not included in the WPF Controls installer. The .NET and .NET Core assemblies are available in the NuGet packages. The .NET Framework assemblies are contained in the NuGet packages as well.

Other Deployment Notes

No Run-time Royalties

There are no run-time royalties or other distribution charges for our WPF control products. We only require that you have the proper of licenses for each developer on your project.

See the Licensing topic for more information on licensing requirements.

Do Not Use Our Product Installers on End User Machines

You do NOT need to use our product installers to place our controls on end user machines, nor are you permitted to apply your license key on end user machines.

If you are getting license popups on end user machines, your licensing configuration is incorrect on your build machine. Read the Licensing topic to troubleshoot the issue. Once licensing is configured properly, you should only need to xcopy our product assemblies into the same folder as your application on end machines.

Do Not Install Our Controls to End User GAC (Global Assembly Cache)

We ask that you do not place our .NET Framework-based control assemblies in the GAC of end user machines. Our controls should only be in the GAC of developer machines, which is done by our product installer.