# 32-bit and 64-bit Applications

> Build WPF applications with TX Text Control as x86, x64 or AnyCPU: native libraries per bitness, Configuration Manager steps and publishing for win-x64.

- **Product:** TX Text Control .NET for WPF
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Text Control .NET for WPF > Installation Guide > System Requirements > 32-bit and 64-bit Applications
- **939 words**
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/requirements/32-bit-64-bit/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/requirements/32-bit-64-bit/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/requirements/32-bit-64-bit/llms-full.txt

---

Behind the WPF controls of TX Text Control .NET for WPF works a document engine made of native Windows libraries, and those libraries are compiled twice: for 32-bit and for 64-bit processes. A WPF application therefore has to be built for the bitness it runs with and ship the matching set of libraries. The build configurations to choose from, and how to create them in Visual Studio, are explained below.

### Why Bitness Matters

The managed assemblies, such as *TXTextControl.WPF.dll*, are the same for 32-bit and 64-bit processes. The native libraries, such as *tx34.dll*, exist in a 32-bit and a 64-bit set, and your application needs the set that matches the bitness of the process it runs in. [Native Libraries](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/deployment/assemblies/#native-libraries) in the Deployment Guide lists the files and the folders of the NuGet package and the setup that hold each set.

### Choose a Build Configuration

| Configuration | Runs as | Native libraries to deploy | Target runtime for .NET |
|---|---|---|---|
| x64 | A 64-bit process | The 64-bit set | `win-x64` |
| x86 | A 32-bit process, on 32-bit and 64-bit Windows | The 32-bit set | `win-x86` |
| AnyCPU | A process with the bitness of the Windows it runs on | The set that matches the host: the 32-bit set on 32-bit Windows, the 64-bit set on 64-bit Windows | Chosen per target machine |

- **x64** creates a 64-bit application, which has more memory for large documents.
- **x86** creates an application that runs on both 32-bit and 64-bit Windows.
- **AnyCPU** is what Visual Studio sets for a new project. It works when the set of native libraries you deploy matches the machine the application runs on.

The sample projects that the setup installs come with an x86 and an x64 build configuration.

### Create x86 and x64 Configurations in Visual Studio

1. Open your WPF project and choose **Build** > **Configuration Manager**.
2. In the **Active solution platform** list, select **<New...>**.

    ![The Visual Studio Configuration Manager dialog with the Active solution platform list open, showing Any CPU, New and Edit.](https://docs.textcontrol.com/assets/img/tx-text-control-dotnet-wpf/vs-configuration-manager.b677530f.webp)
3. In the **New Solution Platform** dialog, select **x64** and click **OK**.

    ![The New Solution Platform dialog with x64 selected as the new platform and settings copied from Any CPU.](https://docs.textcontrol.com/assets/img/tx-text-control-dotnet-wpf/vs-new-solution-platform.6b1dd9b5.webp)
4. Repeat steps 2 and 3 with **x86**. The **Active solution platform** list now holds **Any CPU**, **x64** and **x86**:

    ![The Active solution platform list of the Configuration Manager with Any CPU, x64 and x86 above the New and Edit entries, x86 selected.](https://docs.textcontrol.com/assets/img/tx-text-control-dotnet-wpf/vs-solution-platforms-list.b45a3d56.webp)
5. To remove **Any CPU**, select **<Edit...>** in the **Active solution platform** list, select **Any CPU**, click **Remove** and close the dialog.
6. Close the **Configuration Manager**.

The platforms are now in the **Solution Platforms** list of the Visual Studio toolbar. Select one before you build to compile for it:

![The Solution Platforms list of the Visual Studio toolbar next to the Debug configuration, with x64, x86 and Configuration Manager.](https://docs.textcontrol.com/assets/img/tx-text-control-dotnet-wpf/vs-toolbar-platforms-list.4000c3f9.webp)

### Publish a .NET Application for One Platform

A .NET 8 or higher application is published with **Build** > **Publish Selection**. In the publish settings, you select the target runtime, for example `win-x64`, and the publish process copies the TX Text Control files for that runtime to the output folder. [Publishing .NET Applications](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/deployment/dotnet/llms-full.txt) describes the steps.

The native libraries also need the Microsoft Visual C++ runtime in the same bitness. See [Visual C++ Runtime Dependencies](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/deployment/vc-runtime/llms-full.txt).

### Related Pages

- [x86, x64, and AnyCPU](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/deployment/x86-x64-anycpu/llms-full.txt): deploying each configuration.
- [Managed Assemblies and Native Libraries](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/deployment/assemblies/llms-full.txt): the files your application ships.
- [Native Libraries and Architecture Mismatches](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/troubleshooting/native-libraries/llms-full.txt): what to check when the libraries don't load.
- [Product Architecture](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/overview/architecture/llms-full.txt): how the controls and the engine fit together.

---

## Nearby

- **Previous:** [Visual Studio](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/requirements/visual-studio/llms-full.txt)
- **Next:** [Installing the Product](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/setup/llms-full.txt)
