Core and Classic
The DS Server archive holds two builds of the same server, one in the folder core and one in classic, and you install one of them. They offer the same Web API, admin portal, OAuth security and client packages, but differ in the operating systems they run on, the document formats they handle on Linux, the fonts they bring and the .NET runtimes they need. The comparison below helps you pick one before you follow an installation guide.
At a Glance
| Core | Classic | |
|---|---|---|
| Folder in the archive | core | classic |
| Operating systems | Linux and Windows | Windows only |
| Native engine libraries | linux-x64 and win-x64 | win-x64 and win-x86 |
| Start | dotnet TXTextControl.DocumentServices.dll | dotnet TXTextControl.DocumentServices.dll or TXTextControl.DocumentServices.exe |
| Hosting | Kestrel on Linux or Windows, Linux Docker containers | IIS, Kestrel on Windows, Windows Docker containers |
| Official Docker image | txtextcontrol/dsserver-core on Docker Hub | None |
| Document formats on Linux | DOCX, HTML, PDF and XLSX, see Limits on Linux | Does not run on Linux |
| Fonts | Ships a Fonts folder | No fonts folder |
| Runtime | .NET 10.0 and ASP.NET Core 10.0 | .NET 10.0, ASP.NET Core 10.0, .NET Desktop Runtime 10.0 and .NET 8.0 Desktop Runtime |
| Available since | Version 4.0 | Version 4.0. Earlier versions had a single Windows build. |
Which build to choose:
- Core is the build for Linux servers and Linux containers, and the one the official Docker image contains. It also runs on Windows.
- Classic is the build for Windows servers, for example behind IIS, and it is not affected by the limits that the changelog lists for Linux.
Where Each Build Runs
Version 4.0 made DS Server cross-platform and split the archive into the two folders. Its changelog calls core the Linux version and classic the Windows version. The core folder also contains the native libraries for Windows, and the installation guides run it on Windows as well.
| Installation | Build | Guide |
|---|---|---|
| Docker Hub image, one command | Core | Installing with Official Image from Docker Hub |
| Your own Linux Docker image | Core | Installing using Docker (Core on Linux) |
| Windows Docker container with IIS | Classic | Installing using Docker (Classic on Windows) |
dotnet on a Linux or Windows machine | Core | Manual Installation |
| IIS website on Windows Server | Classic | Manual Installation |
Both folders contain a web.config for IIS; the guides host the Classic build in IIS. Since version 3.0, DS Server can also be registered as a Windows service.
Limits on Linux
The changelog of version 4.0 lists these limits of the Linux version compared with the Windows version:
| Linux version | |
|---|---|
| Document formats | DOCX, HTML, PDF and XLSX only |
| Image formats that can be opened and saved | PNG, JPG and BMP |
| Image formats that can only be opened | TIFF and GIF |
| Rendering of documents | SVG only, no bitmap rendering |
For documents in the other formats of the Web API, such as DOC, RTF and the TX Text Control format, install the Windows version, the Classic build.
The changelog states these limits for the Linux version. It does not say whether they also apply to the Core build on Windows. Supported File Formats lists the formats of each endpoint.
Fonts
The core folder contains a Fonts folder with a set of open fonts, among them Liberation Sans, Liberation Serif and Liberation Mono, Roboto, Lato, Open Sans, Merriweather and Noto Sans with its Japanese, Korean and Chinese variants. The license of each font is in Fonts/licenses.txt. The classic folder has no fonts folder: the Classic build uses the fonts installed in Windows, so check that the fonts your documents use are installed on the server or in the container image.
Runtime Requirements
Both builds are framework-dependent .NET applications. They don't bring the .NET runtime, so it has to be installed on the server or be part of the container image. The runtimeconfig.json files of the archive name the runtimes each process needs:
| Process | Core | Classic |
|---|---|---|
TXTextControl.DocumentServices (the server) | .NET 10.0 and ASP.NET Core 10.0 | .NET 10.0 and ASP.NET Core 10.0 |
| DocumentProcessing worker process | .NET 10.0 | .NET 10.0 and Windows Desktop 10.0 |
| Document Viewer worker process | .NET 10.0 | .NET 10.0 |
| Document Editor worker process | .NET 8.0, runs on the newest installed major version | .NET 8.0 and Windows Desktop 8.0 |
What this means for an installation:
- Core needs the .NET 10.0 and ASP.NET Core 10.0 runtimes. Its Document Editor worker process is built for .NET 8.0 and set to run on the newest installed major version, so it runs on .NET 10.0 as well.
- Classic needs the ASP.NET Core Runtime 10.0 and the .NET Desktop Runtime 10.0. For IIS, install the .NET 10.0 Hosting Bundle, which contains the ASP.NET Core Runtime and the ASP.NET Core Module. Its Document Editor worker process is built for .NET 8.0 and the Windows Desktop runtime without a roll-forward setting, and .NET does not run such an application on a newer major version by default. Install the .NET 8.0 Desktop Runtime as well.
DS Server 5.0 is built with .NET 10. Version 4.x was based on .NET 8, and some older pages and articles still name the .NET 8 runtimes for the server itself. Requirements lists the operating systems and the Windows components such as IIS and the Visual C++ Redistributable.
What Is the Same
- The Web API, with the same endpoints, parameters and responses. On Linux, the Core build handles only the formats listed in Limits on Linux.
- The admin portal, the admin Web API, OAuth and the security profiles.
- The Document Editor and the Document Viewer, and the client packages that connect to them.
- The configuration files appsettings.json and hostsettings.json, the Plugins folder, the dictionaries and the Resource Kit.
- The changelog: both folders contain the same CHANGELOG.md.
Next Steps
- Supported File Formats: the formats each endpoint reads and writes.
- Requirements: operating systems and components to install.
- Installation Guide: install the build you chose.
- Linux: problems specific to DS Server on Linux.