Class Installation
One-time global configuration for IronPDF deployment, licensing, and performance tuning. Configure once at application startup before creating any PDF operations for optimal results.
// Application startup configuration:
Installation.LicenseKey = "YOUR-LICENSE-KEY";
Installation.Initialize(); // Warm up rendering engines
// Docker/Linux configuration:
Installation.LinuxAndDockerDependenciesAutoConfig = true;
Installation.ChromeGpuMode = ChromeGpuModes.Disabled;
// High-performance server configuration:
Installation.ChromeBrowserLimit = 20; // More concurrent browsers
Installation.TempFolderPath = @"/fast-ssd/temp"; // Fast storageCall Initialize() at startup to avoid first-render delays
Configure before any PDF operations for settings to take effect
See: https://ironpdf.com/how-to/installation/
Inheritance
Namespace: IronPdf
Assembly: IronPdf.dll
Syntax
public static class Installation : Object
Fields
SendAnonymousAnalyticsAndCrashData
Opt in or out of sending anonymous usage statistics about IronPDF usage and performance to help us improve the product and developer experience.
Usage statistics are never sent in commercially deployed projects (when a license key is applied), only during development usage.
Declaration
public static bool SendAnonymousAnalyticsAndCrashData
Field Value
| Type | Description |
|---|---|
| System.Boolean |
Properties
AutomaticallyDownloadNativeBinaries
Set to True to let IronPDF try to download missing NativeBinaries from the internet at a runtime.
Declaration
public static bool AutomaticallyDownloadNativeBinaries { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Remarks
Useful for IronPdf.Slim
ChromeBrowserCachePath
Disk cache path for chrome browser instances
Declaration
public static string ChromeBrowserCachePath { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
ChromeBrowserLimit
Maximum number of concurrent browsers when using the Chrome renderer By default, this is set to System.Environment.ProcessorCount.
Declaration
public static int ChromeBrowserLimit { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
ChromeGpuMode
Chrome renderer GPU compatibility mode. In special environment like Docker or Cloud Service please use ChromeGpuModes.Disabled
Declaration
public static ChromeGpuModes ChromeGpuMode { get; set; }
Property Value
| Type | Description |
|---|---|
| ChromeGpuModes |
ConnectionType
Get the current connection type.
Declaration
public static Nullable<IronPdfConnectionType> ConnectionType { get; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<IronPdfConnectionType> |
CustomDeploymentDirectory
Custom deployment directory for renderer native binaries.
Declaration
public static string CustomDeploymentDirectory { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
DebugJobQueue
Enable or disable the logging of the job queue. Can use IronSoftware.JobQueue.JobQueueLogger.ExportToCsv(System.String) to export the job queue log to a CSV file.
Declaration
public static bool DebugJobQueue { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
EnableWebSecurity
Enable web security for Chrome renderer. Disabled by default.
Enabling web security will disable operations which require local disk access or cross-origin requests.
Useful when injecting untrusted HTML from users.
Declaration
public static bool EnableWebSecurity { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
IronPdfEngineVersion
Declaration
public static string IronPdfEngineVersion { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
LinuxAndDockerDependenciesAutoConfig
Auto-installs Linux/Docker dependencies (libgdiplus, fonts, Chrome libs) on first run. Essential for containerized deployments - saves hours of manual configuration.
// Docker container startup:
Installation.LinuxAndDockerDependenciesAutoConfig = true;
Installation.ChromeGpuMode = ChromeGpuModes.Disabled;
Installation.Initialize(); // Installs dependencies
// Manual setup (for production images):
Installation.LinuxAndDockerDependenciesAutoConfig = false;
// Dependencies pre-installed in Dockerfile
// Azure App Service:
Installation.LinuxAndDockerDependenciesAutoConfig = true;
// Automatically configures Linux environmentFirst run takes 2-3 minutes to install packages
Requires apt-get access - may fail in restricted containers
See: https://ironpdf.com/docs/questions/docker-linux/
Declaration
public static bool LinuxAndDockerDependenciesAutoConfig { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
See Also
SingleProcess
Forces Chrome renderer to perform everything in the current process, rather than using subprocesses
Declaration
public static bool SingleProcess { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Remarks
Warning! This feature is experimental and unstable. Useful for environments where execution permissions are not possible.
SkipInitialization
Set to True to skip certain initialization routines, e.g. Cef initialization
Declaration
public static bool SkipInitialization { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Remarks
Useful for certain environments which have persistence, e.g. IIS or web apps
SkipShutdown
Set to True to skip certain shutdown routines, e.g. Cef shutdown
Declaration
public static bool SkipShutdown { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Remarks
Useful for certain environments which have persistence, e.g. IIS or web apps
TempFolderPath
The temporary folder path which temporary files and rendering engine DLLs will be deployed to where necessary. The default location is the system temp folder which is appropriate for most use cases.
Declaration
public static string TempFolderPath { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentException |
|
| System.Security.SecurityException | The caller does not have the required permissions. |
| System.ArgumentNullException |
|
| System.NotSupportedException |
|
| System.IO.PathTooLongException | The specified path, file name, or both exceed the system-defined maximum length. |
| IronPdfProductException | The property TempFolderPath is already initialized. |
Methods
CleanupTempImages(Nullable<TimeSpan>)
Method to remove temporary images from TempFolderPath
If you used a customTempFolderPath then set TempFolderPath to point towards your deployment directory before you call this cleanup method.
Declaration
public static void CleanupTempImages(Nullable<TimeSpan> expirationTime = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Nullable<System.TimeSpan> | expirationTime | Time from last access for files to delete. All files are deleted by default. |
ConnectToIronPdfHost(IronPdfConnectionConfiguration)
Connect to an IronPdf server using the specified connection parameters
Declaration
public static void ConnectToIronPdfHost(IronPdfConnectionConfiguration configuration)
Parameters
| Type | Name | Description |
|---|---|---|
| IronPdfConnectionConfiguration | configuration | IronPdf server connection parameters |
See Also
Initialize()
Pre-loads Chrome engine and dependencies to eliminate first-render delays (saves 1-3 seconds). Essential for production servers and web applications where response time matters.
// In Program.cs or Global.asax.cs:
Installation.Initialize(); // One-time at startup
// Later renders are instant:
var renderer = new ChromePdfRenderer(); // No delay
var pdf = renderer.RenderHtmlAsPdf(html); // Fast!
// Web application startup:
public void ConfigureServices(IServiceCollection services) {
Installation.LicenseKey = Config["IronPdf:LicenseKey"];
Installation.Initialize(); // Warm up once
}Saves 1-3 seconds on first PDF generation
May increase application startup time by 1-2 seconds
See: https://ironpdf.com/how-to/installation/#initialize
Declaration
public static void Initialize()