I'm working on a project that has a service component that will be generating Excel xlsx documents for distribution. While there is a UI for administrative tasks, the service itself will run without an interface. I'm using the Documents.Core, and several other associated libraries to accomplish this. Two issues I've encountered, one is setting up the project with the appropriate libraries and keeping the version in sync with the Admin application, second is protecting those libraries once they are packaged for release. I had a support ticket open to determine how to accomplish the latter, but the first is still a manual issue.
So the feature request is to include the ability in the project templates and/or Convert to Telerik WPF Application to support a headless document solution. It would ideally include (only) the required libraries and maintain their linkage to the appropriate library version with the rest of the solution which occurs with a full Telerik WPF UI app. It would also include the necessary boilerplate code and references to properly protect the libraries. I was referred to another feedback request on improving the overall library protection build process, but while related, what I'm asking for here is not exactly the same.
Currently EULA requires Telerik assemblies to be protected against unauthorized redistribution, by following specific guidelines for the different types of technology: - for WPF: https://docs.telerik.com/devtools/wpf/installation-and-deployment/deploying-telerik-ui/protecting-telerik-assembly - for ASP.NET AJAX: https://docs.telerik.com/devtools/aspnet-ajax/deployment/protecting-the-telerik-asp.net-ajax-assembly - for WinForms: https://docs.telerik.com/devtools/winforms/installation-deployment-and-distribution/redistributing-telerik-ui-for-winforms When the guidelines for WinForms or AJAX are followed (namely the call to ValidatePassPhrase() is uncommented in AssemblyProtection.IsValid() method, the following license message is added to the generated documents: "This document was generated by a copy of Telerik Document Processing licensed for use only by '<MyApp>'." Workaround: Set the application name as resource in the Application.Current, using the following code: where 'MyApp' should be replaced with the actual application name. References to PresentationFramework and WindowsBase .NET Framework assemblies should be added in order for this approach to work.
When xlsx/docx document is imported, and its main story is with non-default name ('workbook. xml'/'document.xml'), e.g. workbook2.xml/document2.xml, NullReferenceException is thrown and the document is not imported. Note: Such documents are usually produced after conversion from a template dotx/xlsm.