From 89917f9d4b083ca218abf78eb0b6b7efc2600189 Mon Sep 17 00:00:00 2001 From: Dinko Krastev Date: Mon, 9 Dec 2024 16:51:28 +0200 Subject: [PATCH 1/2] Redistributions: Update --- .../redistributing-telerik-ui-for-winforms.md | 508 +----------------- 1 file changed, 24 insertions(+), 484 deletions(-) diff --git a/deployment-and-distribution/redistributing-telerik-ui-for-winforms.md b/deployment-and-distribution/redistributing-telerik-ui-for-winforms.md index 0d59cb096..72d934006 100644 --- a/deployment-and-distribution/redistributing-telerik-ui-for-winforms.md +++ b/deployment-and-distribution/redistributing-telerik-ui-for-winforms.md @@ -32,7 +32,19 @@ The Telerik UI for WinForms suite includes a limited run time royalty-free licen For additional usage requirements, development restrictions and, defined term definitions, please refer to the WinForms [license agreement]({%slug winforms/licensing/license-agreement%}). For uses that require additional review, please send e-mail to sales@telerik.com to discuss your planned use of the controls. -## ILMerge Telerik WinForms assemblies +## .Net Redistributions + +.NET Core allows you to publish applications as self-contained, bundling the runtime and dependencies into a single folder, or even as a single file executable. This approach eliminates the need for additional tools, as everything is already packaged together during the publish process, simplifying deployment and reducing complexity. Deploying your .Net project is futher described in the [Deploying WinForms .NET Core Application]{%slug winforms/virtualgrid/getting-started%}) + +## .Net Framework Redistributions + +In the following section, we will demonstrate various methods to protect assemblies in the .NET Framework. + +### Merging all assemblies into one + +#### Using ILMerge + +>caution The ILMerge project is deprecated and is no longer maintained. You can consider using its successor: [ILRepack]({%slug installation-deployment-and-distribution-redestributing-telerik-radcontrols-for-windows/ILRepack%}) |RELATED VIDEOS|| |----|----| @@ -110,7 +122,13 @@ Next, you should build your solution and then ILMerge the built application exec The MergedApplicationExecutable.exe is now a stand-alone application executable that does not need any additional references to the Telerik assemblies. -## Building the Telerik Assemblies from Source Code - Using the OemAssemblyName +#### Using ILRepack + +__ILRepack__ is similar to ILMerge tool. __ILMerge__ and __ILRepack__ are tools used to merge multiple .NET assemblies into a single output assembly, but ILRepack is the preferred choice for modern development. While __ILMerge__, developed by Microsoft, works well for older .NET Framework projects, it lacks support for newer .NET versions and is no longer actively maintained. In contrast, __ILRepack__ is an open-source, offering compatibility with .NET Core, .NET 5+, and even non-Windows platforms. Its active development ensures support for the latest .NET ecosystems, providing greater flexibility and reliability. For more information regarding ILRepack tool set-up, please refer to its GitHub repository. [ILRepack](https://github.com/gluck/il-repack) + +### Building the Telerik assemblies from Source Code + +#### Using the OemAssemblyName |RELATED VIDEOS|| |----|----| @@ -158,7 +176,7 @@ Once you finish these steps, and if you or someone else tries to use that assemb ![installation-deployment-and-distribution-redestributing-telerik-radcontrols-for-windows 005](images/installation-deployment-and-distribution-redestributing-telerik-radcontrols-for-windows005.png) -## Building the Telerik assemblies from Source Code - Using the OemPublicKeyToken +#### Using the OemPublicKeyToken |RELATED VIDEOS|| |----|----| @@ -335,492 +353,14 @@ When you install the suite together with the installation we deploy a few differ ## Telerik UI for WinForms Assemblies -When deploying your application on customer machines, you should make sure that the following assemblies are included in the distribution, being merged with the application executable or being recompiled with the special symbol set: - +When deploying your application on customer machines, you should make sure that the following assemblies are included in the distribution, being merged with the application executable or being recompiled with the special symbol set: -__Assemblies that you should redistribute in all scenarios:__ +__Assemblies that you should redistribute in all scenarios are listed below. The rest of our assemblies depend on these ones.:__ * TelerikCommon.dll * Telerik.WinControls.dll - -__Assemblies that you need to redistribute depending on which controls you use in your application__ - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Control NameAssembly
- -CustomShape - -Telerik.WinControls.dll
- -RadApplicationMenu - -Telerik.WinControls.UI.dll
- -RadBarcode - -Telerik.WinControls.UI.dll
- -RadBreadCrumb - -Telerik.WinControls.UI.dll
- -RadBulletGraph - -Telerik.WinControls.UI.dll
- -RadButton - -Telerik.WinControls.UI.dll
- -RadButtonTextBox - -Telerik.WinControls.UI.dll
- -RadCalendar - -Telerik.WinControls.UI.dll
- -RadCarousel - -Telerik.WinControls.UI.dll
- -RadCheckBox - -Telerik.WinControls.UI.dll
- -RadCheckedListBox - -Telerik.WinControls.UI.dll
- -RadColorDialog - -Telerik.WinControls.dll
- -RadContextMenu - -Telerik.WinControls.UI.dll
- -RadContextMenuManager - -Telerik.WinControls.UI.dll
- -RadChart - -Telerik.WinControls.RadChart.dll
- -RadDataFilter - -Telerik.WinControls.UI.dll
- -RadDateTimePicker - -Telerik.WinControls.UI.dll
- -RadDiagram - -Telerik.WinControls.RadDiagram.dll
- -RadDock - -Telerik.WinControls.RadDock.dll
- -RadDropDownButton - -Telerik.WinControls.UI.dll
- -RadFontDropDownList - -Telerik.WinControls.UI.dll
- -RadForm - -Telerik.WinControls.UI.dll
- -RadGridView - -Telerik.WinControls.GridView.dll
- -RadHScrollBar - -Telerik.WinControls.UI.dll
- -RadLabel - -Telerik.WinControls.UI.dll
- -RadLinearGauge - -Telerik.WinControls.UI.dll
- -RadMaskedEditBox - -Telerik.WinControls.UI.dll
- -RadMenu - -Telerik.WinControls.UI.dll
- -RadMultiColumnComboBox - -Telerik.WinControls.GridView.dll
- -RadProgressBar - -Telerik.WinControls.UI.dll
- -RadRadioButton - -Telerik.WinControls.UI.dll
- -RadRepeatButton - -Telerik.WinControls.UI.dll
- -RadRibbonBar - -Telerik.WinControls.UI.dll
- -RadRibbonForm - -Telerik.WinControls.UI.dll
- -RadTabbedForm - -Telerik.WinControls.UI.dll
- -RadRotator - -Telerik.WinControls.UI.dll
- -RadScheduler - -Telerik.WinControls.Scheduler.dll
- -RadSpinEditor - -Telerik.WinControls.UI.dll
- -RadSplitButton - -Telerik.WinControls.UI.dll
- -RadStatusStrip - -Telerik.WinControls.UI.dll
- -RadTextBox - -Telerik.WinControls.UI.dll
- -RadThemeManager - -Telerik.WinControls.dll
- -RadTitleBar - -Telerik.WinControls.UI.dll
- -RadToggleButton - -Telerik.WinControls.UI.dll
- -RadTrackBar - -Telerik.WinControls.UI.dll
- -RadVScrollBar - -Telerik.WinControls.UI.dll
- -RadWaitingBar - -Telerik.WinControls.UI.dll
- -RadRating - -Telerik.WinControls.UI.dll
- -ShapedForm - -Telerik.WinControls.UI.dll
- -SchedulerBindingDataSource - -Telerik.WinControls.Scheduler.dll
- -RadShortcuts - -Telerik.WinControls.dll
- -AquaTheme - -Telerik.WinControls.Themes.Aqua.dll
- -FluentTheme - -Telerik.WinControls.Themes.Fluent.dll
- -FluentDarkTheme - -Telerik.WinControls.Themes.FluentDark.dll
- -CrystalTheme - -Telerik.WinControls.Themes.Crystal.dll
- -CrystalDarkTheme - -Telerik.WinControls.Themes.CrystalDark.dll
- -DesertTheme - -Telerik.WinControls.Themes.Desert.dll
- -Office2007Black - -Telerik.WinControls.Themes.Office2007Black.dll
- -Office2007Silver - -Telerik.WinControls.Themes.Office2007Silver.dll
- -TelerikMetroTheme - -Telerik.WinControls.Themes.TelerikMetro.dll
- -BreezeTheme - -Telerik.WinControls.Themes.Breeze.dll
- -HighContrastBlackTheme - -Telerik.WinControls.Themes.HighContrastBlack.dll
- -Office2010Black - -Telerik.WinControls.Themes.Office2010BlackTheme.dll
- -Office2010Blue - -Telerik.WinControls.Themes.Office2010BlueTheme.dll
- -Office2010Silver - -Telerik.WinControls.Themes.Office2010SilverTheme.dll
- -Office2010Black - -Telerik.WinControls.Themes.Office2010BlackTheme.dll
- -Windows7 - -Telerik.WinControls.Themes.Windows7.dll
- -RadMarkupDialog - -Telerik.WinControls.UI.RadMarkupDialog.dll
- -RadDropDownList - -Telerik.WinControls.UI.dll
- -RadListControl - -Telerik.WinControls.UI.dll
- -RadListView - -Telerik.WinControls.UI.dll
- -RadTreeView - -Telerik.WinControls.UI.dll
- -RadDesktopAlert - -Telerik.WinControls.UI.dll
- -RadSeparator - -Telerik.WinControls.UI.dll
- -RadWizard - -Telerik.WinControls.UI.dll
- -RadPageView - -Telerik.WinControls.UI.dll
- -RadSplitContainer - -Telerik.WinControls.UI.dll
- -RadGroupBox - -Telerik.WinControls.UI.dll
- -RadPanel - -Telerik.WinControls.UI.dll
- -RadScrollablePanel - -Telerik.WinControls.UI.dll
- -RadRichTextBox - -Telerik.WinControls.RichTextBox.dll
- -RadRichTextEditor - -Telerik.WinControls.RichTextEditor.dll
- -RadSpellChecker - -Telerik.WinControls.SpellChecker.dll
- -RadPropertyGrid - -Telerik.WinControls.UI.dll
- -RadRangeSelector - -Telerik.WinControls.UI.dll
- -RadReminder - -Telerik.WinControls.Scheduler.dll
- -RadSchedulerReminder - -Telerik.WinControls.Scheduler.dll
- -RadSchedulerNavigator - -Telerik.WinControls.Scheduler.dll
- -RadTimeSpanPicker - -Telerik.WinControls.UI.dll
- -RadCommandBar - -Telerik.WinControls.UI.dll
- -RadMessageBox - -Telerik.WinControls.UI.dll
- -RadAutoCompleteBox - -Telerik.WinControls.UI.dll
- -RadTextBoxControl - -Telerik.WinControls.UI.dll
- -RadChartView - -Telerik.WinControls.ChartView.dll
- -RadPivotGrid - -Telerik.WinControls.RadPivotGrid.dll
- -RadFieldList - -Telerik.WinControls.RadPivotGrid.dll
- -RadPdfViewer - -Telerik.WinControls.PdfViewer.dll
- -RadGanttView - -Telerik.WinControls.UI.dll
- -RadBindingNavigator - -Telerik.WinControls.UI.dll
- -RadCollapsiblePanel - -Telerik.WinControls.UI.dll
- -RadDataEntry - -Telerik.WinControls.UI.dll
- -RadRadialGauge - -Telerik.WinControls.UI.dll
- -RadCheckedDropDownList - -Telerik.WinControls.UI.dll
- -Office2013Dark - -Telerik.WinControls.Themes.Office2013Dark.dll
- -Office2013Light - -Telerik.WinControls.Themes.Office2013Light.dll
- -TelerikMetroBlue - -Telerik.WinControls.Themes.TelerikMetroBlue.dll
- -TelerikMetroTouch - -Telerik.WinControls.Themes.TelerikMetroTouch.dll
-Material -Telerik.WinControls.Themes.Material.dll
-MaterialPink -Telerik.WinControls.Themes.MaterialPink.dll
-MaterialTeal -Telerik.WinControls.Themes.MaterialTeal.dll
-MaterialBlueGray -Telerik.WinControls.Themes.MaterialBlueGray.dll
-VisualStudio2012Dark - -Telerik.WinControls.Themes.VisualStudio2012Dark.dll
- -VisualStudio2012Light - -Telerik.WinControls.Themes.VisualStudio2012Light.dll
- -Windows8 - -Telerik.WinControls.Themes.Windows8.dll
RadToggleSwitchTelerik.WinControls.UI.dll
RadLayoutControlTelerik.WinControls.UI.dll
RadPopupEditorTelerik.WinControls.UI.dll
RadDataLayoutTelerik.WinControls.UI.dll
RadVirtualGridTelerik.WinControls.GridView.dll
RadPanoramaTelerik.WinControls.UI.dll
RadBrowseEditorTelerik.WinControls.UI.dll
RadCalculatorDropDownTelerik.WinControls.UI.dll
RadColorBoxTelerik.WinControls.UI.dll
RadTimePickerTelerik.WinControls.UI.dll
RadClockTelerik.WinControls.UI.dll
RadPdfViewerNavigatorTelerik.WinControls.PdfViewer.dll
RadCardViewTelerik.WinControls.UI.dll
RadMapTelerik.WinControls.RadMap.dll
RadSpreadsheetTelerik.WinControls.RadSpreadsheet.dll
RadDomainUpDownTelerik.WinControls.UI.dll
ExplorerControlTelerik.WinControls.UI.dll
RadOpenFileDialogTelerik.WinControls.UI.dll
RadOpenFolderDialogTelerik.WinControls.UI.dll
RadSaveFileDialogTelerik.WinControls.UI.dll
RadWebCamTelerik.WinControls.RadWebCam.dll
RadSparklineTelerik.WinControls.UI.dll
RadVirtualKeyboardTelerik.WinControls.UI.dll
RadSyntaxEditorTelerik.WinControls.SyntaxEditor.dll
-You can find all these assemblies in the __/bin__ folder of your installation. +The rest of the assemblies that will be distributed depend on the controls used in your project and if they are referenced inside your project. You can find all referenced assemblies in the __/bin__ folder of your installation. From d99fded6eaff27b3f77c4b37babec3978441d8e5 Mon Sep 17 00:00:00 2001 From: Dinko Krastev Date: Fri, 13 Dec 2024 17:03:39 +0200 Subject: [PATCH 2/2] Refactoring --- .../redistributing-telerik-ui-for-winforms.md | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/deployment-and-distribution/redistributing-telerik-ui-for-winforms.md b/deployment-and-distribution/redistributing-telerik-ui-for-winforms.md index 72d934006..228c354bf 100644 --- a/deployment-and-distribution/redistributing-telerik-ui-for-winforms.md +++ b/deployment-and-distribution/redistributing-telerik-ui-for-winforms.md @@ -32,16 +32,20 @@ The Telerik UI for WinForms suite includes a limited run time royalty-free licen For additional usage requirements, development restrictions and, defined term definitions, please refer to the WinForms [license agreement]({%slug winforms/licensing/license-agreement%}). For uses that require additional review, please send e-mail to sales@telerik.com to discuss your planned use of the controls. -## .Net Redistributions +## .NET Redistributions -.NET Core allows you to publish applications as self-contained, bundling the runtime and dependencies into a single folder, or even as a single file executable. This approach eliminates the need for additional tools, as everything is already packaged together during the publish process, simplifying deployment and reducing complexity. Deploying your .Net project is futher described in the [Deploying WinForms .NET Core Application]{%slug winforms/virtualgrid/getting-started%}) +.NET Core allows you to publish applications as self-contained, bundling the runtime and dependencies into a single folder, or even as a single file executable. This approach eliminates the need for additional tools, as everything is already packaged together during the publish process, simplifying deployment and reducing complexity. Deploying your .NET project is futher described in the [Deploying WinForms .NET Core Application]({%slug winforms/virtualgrid/getting-started%}) -## .Net Framework Redistributions +## .NET Framework Redistributions In the following section, we will demonstrate various methods to protect assemblies in the .NET Framework. ### Merging all assemblies into one +#### Using ILRepack + +__ILRepack__ is similar to ILMerge tool. __ILMerge__ and __ILRepack__ are tools used to merge multiple .NET assemblies into a single output assembly, but ILRepack is the preferred choice for modern development. While __ILMerge__, developed by Microsoft, works well for older .NET Framework projects, it lacks support for newer .NET versions and is no longer actively maintained. In contrast, __ILRepack__ is an open-source, offering compatibility with .NET Core, .NET 5+, and even non-Windows platforms. Its active development ensures support for the latest .NET ecosystems, providing greater flexibility and reliability. For more information regarding ILRepack tool set-up, please refer to its GitHub repository. [ILRepack](https://github.com/gluck/il-repack) + #### Using ILMerge >caution The ILMerge project is deprecated and is no longer maintained. You can consider using its successor: [ILRepack]({%slug installation-deployment-and-distribution-redestributing-telerik-radcontrols-for-windows/ILRepack%}) @@ -122,10 +126,6 @@ Next, you should build your solution and then ILMerge the built application exec The MergedApplicationExecutable.exe is now a stand-alone application executable that does not need any additional references to the Telerik assemblies. -#### Using ILRepack - -__ILRepack__ is similar to ILMerge tool. __ILMerge__ and __ILRepack__ are tools used to merge multiple .NET assemblies into a single output assembly, but ILRepack is the preferred choice for modern development. While __ILMerge__, developed by Microsoft, works well for older .NET Framework projects, it lacks support for newer .NET versions and is no longer actively maintained. In contrast, __ILRepack__ is an open-source, offering compatibility with .NET Core, .NET 5+, and even non-Windows platforms. Its active development ensures support for the latest .NET ecosystems, providing greater flexibility and reliability. For more information regarding ILRepack tool set-up, please refer to its GitHub repository. [ILRepack](https://github.com/gluck/il-repack) - ### Building the Telerik assemblies from Source Code #### Using the OemAssemblyName @@ -195,6 +195,7 @@ This section demonstrates how to deploy a project with a public token key. We wi ![installation-deployment-and-distribution-redestributing-telerik-radcontrols-for-windows 006](images/installation-deployment-and-distribution-redestributing-telerik-radcontrols-for-windows006.png) After: + ![installation-deployment-and-distribution-redestributing-telerik-radcontrols-for-windows 007](images/installation-deployment-and-distribution-redestributing-telerik-radcontrols-for-windows007.png) 1. Open C:\Telerik UI for WinForms Source\RadControl\TPF\Control\ RadControl.cs in a text editor (notepad, Visual Studio etc). @@ -203,8 +204,11 @@ This section demonstrates how to deploy a project with a public token key. We wi 1. Delete the value of the OemPublicKeyToken: Before: + ![installation-deployment-and-distribution-redestributing-telerik-radcontrols-for-windows 008](images/installation-deployment-and-distribution-redestributing-telerik-radcontrols-for-windows008.png) - After: + + After: + ![installation-deployment-and-distribution-redestributing-telerik-radcontrols-for-windows 009](images/installation-deployment-and-distribution-redestributing-telerik-radcontrols-for-windows009.png) 1. Open your project and go to *Properties*, then select the *Signing* tab. @@ -220,10 +224,10 @@ This section demonstrates how to deploy a project with a public token key. We wi 1. Execute the following command with a parameter the route to your assembly. ![installation-deployment-and-distribution-redestributing-telerik-radcontrols-for-windows 012](images/installation-deployment-and-distribution-redestributing-telerik-radcontrols-for-windows012.png) -1. Copy the generated public key token. +1. Copy the generated public key token. ![installation-deployment-and-distribution-redestributing-telerik-radcontrols-for-windows 013](images/installation-deployment-and-distribution-redestributing-telerik-radcontrols-for-windows013.png) -1. Return to the RadControlsVS2010 solution, open the RadControl.cs file and set the OemPublicKeyToken to equal the value of the newly generated key token. +1. Return to the RadControlsVS2010 solution, open the RadControl.cs file and set the OemPublicKeyToken to equal the value of the newly generated key token. ![installation-deployment-and-distribution-redestributing-telerik-radcontrols-for-windows 014](images/installation-deployment-and-distribution-redestributing-telerik-radcontrols-for-windows014.png) 1. Build the solution.