> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OutprocLoader Object

> OutprocLoader Object in the ABBYY FineReader Engine API — This object implements the IEngineLoader which provides methods for loading and unloading the Engine object.

<Note>
  This object is implemented in FRE for Windows.
</Note>

This object implements the [IEngineLoader](/fine-reader/engine/api-reference/engine-loaders/iengineloader) which provides methods for loading and unloading the [Engine](/fine-reader/engine/api-reference/engine-object-iengine-interface) object. This object allows you to load ABBYY FineReader Engine as an out-of-process server into a separate process.

If this loading method is used, all ABBYY FineReader Engine are completely thread-safe. Each FineReader Engine instance runs in a separate process simultaneously with other instances. This allows you to create a pool of processors and make full use of the available CPU power. For this reason, using the OutprocLoader object is particularly suitable for server applications.

* This loading method requires registration of FREngine.dll when installing the application on an end user's computer. To register FREngine.dll, use the following command line:

```csharp theme={null}
regsvr32 /s /n /i:"<path to the Inc folder>" "<path to FREngine.dll>"
```

* Account permissions can be set up using the DCOM Config utility (either type DCOMCNFG in the command line, or select Control Panel > Administrative Tools > Component Services). In the console tree, locate the Component Services > Computers > My Computer > DCOM Config folder, right-click ABBYY FineReader Engine 12.5 Loader (Local Server), and click Properties. A dialog box will open. Click the Security tab. Under Launch Permissions, click Customize, and then click Edit to specify the accounts that can launch the application.

<Note>
  Note that on a 64-bit operating system the registered DCOM-application is available in the 32-bit MMC console, which can be run using the following command line:
</Note>

```
"mmc comexp.msc /32"
```

* We recommend that you use a Network license both for debugging your server application and for running it.

For more information, see [Different Ways to Load the Engine Object](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/different-ways-to-load-engine).

This object supports the [IHostProcessControl](/fine-reader/engine/api-reference/engine-loaders/ihostprocesscontrol) interface. This means that you can manage the process which hosts FineReader Engine.

## Samples

<Accordion title="C# code">
  ```csharp theme={null}
  IEngineLoader engineLoader = new FREngine.OutprocLoader();
  IEngine engine = engineLoader.InitializeEngine(…);
  try {
   …
  } finally {
   engineLoader.ExplicitlyUnload();
  }
  ```
</Accordion>

This object is also used in the [EnginesPool](/fine-reader/engine/guided-tour/samples#enginespool) code sample. It provides an implementation of a pool of FineReader Engines, which can be easily adapted for use in your own multithreaded application.

## See also

[IEngineLoader](/fine-reader/engine/api-reference/engine-loaders/iengineloader)

[Different Ways to Load the Engine Object](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/different-ways-to-load-engine)

[Using ABBYY FineReader Engine in Multi-Threaded Server Applications](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/using-in-server-applications)

[Parallel Processing with ABBYY FineReader Engine](/fine-reader/engine/guided-tour/advanced-techniques/parallel-processing)
