Deployment
This article describes what is included in DotNetBrowser distribution package and libraries to be deployed.
DotNetBrowser is supplied in a few dynamic libraries. Some of them are related to DotNetBrowser itself and others to the appropriate Chromium binary files.
Here’s a list of the libraries provided in DotNetBrowser distribution package:
| Assembly | Size | References | Description |
|---|---|---|---|
| DotNetBrowser.dll | ~240KB | Data classes and interfaces | |
| DotNetBrowser.Core.dll | ~2MB | DotNetBrowser.dll DotNetBrowser.Logging.dll | Core implementation |
| DotNetBrowser.Logging.dll | ~23KB | DotNetBrowser Logging API implementation | |
| DotNetBrowser.Chromium.Win-x86.dll | ~115MB | Chromium binaries for Windows 32-bit | |
| DotNetBrowser.Chromium.Win-x64.dll | ~120MB | Chromium binaries for Windows 64-bit | |
| DotNetBrowser.Chromium.Win-arm64.dll | ~115MB | Chromium binaries for Windows ARM64 | |
| DotNetBrowser.Chromium.Linux-x64.dll | ~125MB | Chromium binaries for Linux 64-bit | |
| DotNetBrowser.Chromium.Linux-arm64.dll | ~135MB | Chromium binaries for Linux ARM64 | |
| DotNetBrowser.Chromium.macOS-x64.dll | ~111MB | Chromium binaries for macOS 64-bit | |
| DotNetBrowser.Chromium.macOS-arm64.dll | ~115MB | Chromium binaries for macOS ARM64 | |
| DotNetBrowser.AvaloniaUi.dll | ~180KB | DotNetBrowser.dll DotNetBrowser.Core.dll | Classes and interfaces for embedding into an Avalonia UI app |
| DotNetBrowser.Wpf.dll | ~170KB | DotNetBrowser.dll DotNetBrowser.Core.dll | Classes and interfaces for embedding into a WPF app |
| DotNetBrowser.WinForms.dll | ~120KB | DotNetBrowser.dll DotNetBrowser.Core.dll | Classes and interfaces for embedding into a WinForms app |
| protobuf-net.dll | ~270KB | Protocol Buffers implementation for .NET. It is used to perform the communication between the .NET side and Chromium engine |
Windows
AnyCPUDotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Win-x86.dll, DotNetBrowser.Chromium.Win-x64.dll, DotNetBrowser.Chromium.Win-arm64.dll and protobuf-net.dll libraries must be included in your .NET application. For the first time, DotNetBrowser checks the applications architecture and extracts or uses the appropriate Chromium binaries. On Windows 64-bit, DotNetBrowser extracts and uses Chromium 64-bit binaries. On Windows 32-bit these are Chromium 32-bit binaries.
x86DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Win-x86.dll and protobuf-net.dll. If it is a 32-bit .NET application, Chromium 32-bit binaries will be extracted and used. Chromium 32-bit binaries are supported for both Windows 32-bit and 64-bit environments.
x64DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Win-x64.dll and protobuf-net.dll. If it is a 64-bit .NET application, Chromium 64-bit binaries will be extracted and used. If it is a 32-bit .NET application, an exception is thrown.
ARM64DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Win-arm64.dll and protobuf-net.dll. If it is an ARM64 .NET application, Chromium ARM64 binaries will be extracted and used.
DotNetBrowser.Wpf.dll, DotNetBrowser.WinForms.dll, or DotNetBrowser.AvaloniaUi.dll is added depending on your .NET applications framework.
Linux
x64DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Linux-x64.dll and protobuf-net.dll. If it is a 64-bit .NET application, Chromium 64-bit binaries will be extracted and used. If it is a 32-bit .NET application, an exception is thrown.
ARM64DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Linux-arm64.dll and protobuf-net.dll. If it is an ARM64 .NET application, Chromium ARM64 binaries will be extracted and used. If it is an ARM .NET application, an exception is thrown.
DotNetBrowser.AvaloniaUi.dll is added if your application uses Avalonia UI.
macOS
x64DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.macOS-x64.dll and protobuf-net.dll. If it is a 64-bit .NET application, Chromium 64-bit binaries will be extracted and used. If it is a 32-bit .NET application, an exception is thrown.
ARM64DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.macOS-arm64.dll and protobuf-net.dll. If it is an ARM64 .NET application, Chromium ARM64 binaries will be extracted and used. If it is an ARM .NET application, an exception is thrown.
DotNetBrowser.AvaloniaUi.dll is added if your application uses Avalonia UI.
As a user, you can choose the way to deploy the required libraries.
Citrix
DotNetBrowser can be used in Citrix environment with Windows Server 2016 and higher.
To run Chromium and DotNetBrowser, it’s required to disable Citrix API Hooks.
The API hooks should be disabled for chromium.exe file located in Chromium binaries directory.
Alternative solution is to disable Chromium sandbox. Keep in mind that this is a security risk. Find more information about sandbox in this article.