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 | ~240 KB | Data classes and interfaces | |
| DotNetBrowser.Core.dll | ~2 MB | DotNetBrowser.dll DotNetBrowser.Logging.dll | Core implementation |
| DotNetBrowser.Logging.dll | ~23 KB | DotNetBrowser Logging API implementation | |
| DotNetBrowser.Chromium.Win-x86.dll | ~115 MB | Chromium binaries for Windows 32-bit | |
| DotNetBrowser.Chromium.Win-x64.dll | ~120 MB | Chromium binaries for Windows 64-bit | |
| DotNetBrowser.Chromium.Win-arm64.dll | ~115 MB | Chromium binaries for Windows ARM64 | |
| DotNetBrowser.Chromium.Linux-x64.dll | ~125 MB | Chromium binaries for Linux 64-bit | |
| DotNetBrowser.Chromium.Linux-arm64.dll | ~135 MB | Chromium binaries for Linux ARM64 | |
| DotNetBrowser.Chromium.macOS-x64.dll | ~111 MB | Chromium binaries for macOS 64-bit | |
| DotNetBrowser.Chromium.macOS-arm64.dll | ~115 MB | Chromium binaries for macOS ARM64 | |
| DotNetBrowser.AvaloniaUi.dll | ~180 KB | DotNetBrowser.dll DotNetBrowser.Core.dll | Classes and interfaces for embedding into an Avalonia 11 UI app |
| DotNetBrowser.AvaloniaUi.v12.dll | ~180 KB | DotNetBrowser.dll DotNetBrowser.Core.dll | Classes and interfaces for embedding into an Avalonia 12 UI app |
| DotNetBrowser.Wpf.dll | ~170 KB | DotNetBrowser.dll DotNetBrowser.Core.dll | Classes and interfaces for embedding into a WPF app |
| DotNetBrowser.WinForms.dll | ~120 KB | DotNetBrowser.dll DotNetBrowser.Core.dll | Classes and interfaces for embedding into a WinForms app |
| Google.Protobuf.dll | ~490 KB | Protocol Buffers implementation for .NET. It is used to perform 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 Google.Protobuf.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 Google.Protobuf.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 Google.Protobuf.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 Google.Protobuf.dll. If it is an ARM64 .NET application, Chromium ARM64 binaries will be extracted and used.
DotNetBrowser.Wpf.dll, DotNetBrowser.WinForms.dll, DotNetBrowser.AvaloniaUi.dll, or DotNetBrowser.AvaloniaUi.v12.dll is added depending on your .NET application’s framework.
Linux
x64DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Linux-x64.dll and Google.Protobuf.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 Google.Protobuf.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 or DotNetBrowser.AvaloniaUi.v12.dll is added if your application uses Avalonia UI.
macOS
x64DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.macOS-x64.dll and Google.Protobuf.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 Google.Protobuf.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 or DotNetBrowser.AvaloniaUi.v12.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.