Table of Contents

Class WslBundleProvisioner

Namespace
CobaltPdf.WebKit.Infrastructure.Provisioning
Assembly
CobaltPDF.WebKit.dll

Provisions the Linux WebKit bundle inside a WSL distribution so renders can run as a real Linux subprocess on a Windows dev box — no Docker required. The tarball is downloaded on the Windows side (re-using the regular HTTPS + SHA-256 pipeline), then extracted into the distro's $HOME/.cache/CobaltPdfWebKit/… via wsl tar.

Fast-path: subsequent calls check for the .ready marker through the \wsl$<distro> UNC view in a few microseconds and skip straight to dispatch.

public sealed class WslBundleProvisioner
Inheritance
WslBundleProvisioner
Inherited Members

Constructors

WslBundleProvisioner(PoolOptions, HttpClient?)

public WslBundleProvisioner(PoolOptions options, HttpClient? httpClient = null)

Parameters

options PoolOptions
httpClient HttpClient

Methods

EnsureAsync(CancellationToken)

Returns a tuple of (distro, linuxBundleHome, uncBundleHome). The LinuxBundleHome is what gets passed into wsl.exe as the path to launch.sh; the UncBundleHome is the Windows view of the same directory.

public Task<WslHomePaths> EnsureAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<WslHomePaths>