# Upgrading From Previous Versions

> Upgrade a WPF project from TX Text Control 32.0 or 33.0 to 34.0: new assembly references and licenses.licx versions, or the 34.0.5 package and .NET 8.

- **Product:** TX Text Control .NET for WPF
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Text Control .NET for WPF > Installation Guide > Upgrade Guide > Upgrading From Previous Versions
- **1540 words**
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/previous-versions/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/previous-versions/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/previous-versions/llms-full.txt

---

Moving a WPF project from TX Text Control 32.0 or 33.0 to version 34.0 is mostly a change of references: each major version has its own assemblies, its own package versions and its own toolbox category, and can be installed next to the earlier ones. How much you change depends on the project's target. A .NET Framework project gets new assembly references and new *licenses.licx* entries, and a .NET project a new package version. The steps for both follow.

### Service Pack or Major Version

- **A service pack**, such as Service Pack 5 of version 34.0, updates the version you already use. The latest full setup updates the installation in place, and in .NET projects you update the package. See [Installing the Product](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/setup/llms-full.txt) and [Installing and Updating Packages](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/nuget/install-update/llms-full.txt).
- **A major version**, such as 34.0 after 33.0, is what this page covers.

### Before You Start

- **Check your subscription.** New major versions are included while your subscription is active. Versions you received during the subscription stay licensed after it ends; versions released afterward need a renewal. See [Licensing Overview](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/overview/licensing/llms-full.txt).
- **Install version 34.0.** Download the setup *TX Text Control.NET for WPF 34.0 with SP5.exe* and install it, as described in [Installing the Product](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/setup/llms-full.txt).
- **Read the breaking changes** of every version between yours and 34.0 in [Breaking Changes](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/breaking-changes/llms-full.txt).

### Upgrade a .NET Framework Project

A project created with **WPF App (.NET Framework)** references the TX Text Control assemblies of one version, such as *TXTextControl.dll* and *TXTextControl.WPF.dll*, and names their version in *licenses.licx*.

If you uninstall the earlier version before you install version 34.0, Visual Studio adapts the project to the new version when you open it. If several versions stay installed, change the project yourself:

1. Open the project in Visual Studio.
2. Remove the references to the TX Text Control assemblies of the earlier version.
3. Add references to the same assemblies of version 34.0 from the *Assembly* folder of the new installation.
4. Open *licenses.licx*, in the WPF samples *Properties\\licenses.licx*, and change the version in each entry to the version of the new assemblies.
5. Close Visual Studio, open the project again and choose **Build** > **Rebuild Solution**.

> Warning
>
> **Old Versions in licenses.licx.** When an entry still names the earlier version, the license of that version can be used, and the controls can't be licensed. Take the new version from the properties of the new references. [.NET Framework: licenses.licx](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/licensing/development/#net-framework-licenses-licx) shows an entry and explains the file.

### Upgrade a .NET Project

A project for .NET 8 or higher references a version of `TXTextControl.TextControl.WPF.SDK`. The versions 34.0.0 to 34.0.5 belong to version 34.0, and 33.0.0 to 33.0.3 to version 33.0.

1. Install the setup of version 34.0. It adds the 34.0 package versions to **Text Control Offline Packages**. The private feed offers them to developers whose serial number covers version 34.0.
2. In **Manage NuGet Packages**, update `TXTextControl.TextControl.WPF.SDK` to 34.0.5, or run:

    ```bash
    dotnet add package TXTextControl.TextControl.WPF.SDK --version 34.0.5
    ```
3. Rebuild the project.

- **From version 32.0,** change the target framework to `net8.0-windows` or higher before you update the package. Coming from 32.0 before Service Pack 2, also delete *licenses.licx* if the project still contains it. [Version 33.0](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/breaking-changes/#version-33-0) and [Version 32.0](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/breaking-changes/#version-32-0) in Breaking Changes explain both changes.
- **The license** is part of the new package, so nothing else in the project changes for licensing.
- **The toolbox** shows the items of the new package in the category **TX Text Control 34.0**.

### Check the Result

Run the application and check the version it uses, as [Check the Installed Service Pack](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/service-packs/#check-the-installed-service-pack) shows. Then test the output your application creates, especially PDF files, which version 34.0 saves with tags. [Breaking Changes](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/breaking-changes/llms-full.txt) lists what to look at.

### Coming From TX Text Control ActiveX

An application built with TX Text Control ActiveX isn't upgraded but ported: its code is rewritten against the .NET classes. Text Control documents this port for Windows Forms, and [Migrating from ActiveX](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/installation/upgrading/activex/llms-full.txt) in the Windows Forms documentation maps every ActiveX property, method and event to its .NET counterpart. Most of the mapping applies to WPF as well:

- **Shared classes.** The classes of the `TXTextControl` namespace that the tables name, such as [Selection](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/selection/llms-full.txt), [ParagraphFormat](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/paragraphformat/llms-full.txt) and the collections of tables, images, fields and sections, exist in WPF with the same members.
- **The control.** The members of the Windows Forms `TextControl` that the tables name are members of [WPF.TextControl](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/textcontrol/llms-full.txt) with the same name, except seven: `AllowUndo`, `BackColor`, `BorderStyle`, `ForeColor`, `ScrollBars`, `TextBackColor` and `Zoomed`.
- **Inherited members.** The tables show members such as `Click`, `Font` and `Handle` of the Windows Forms class `Control` without a link. `WPF.TextControl` derives from `System.Windows.Controls.Control` instead, so these members follow the WPF API.
- **The tool bars.** The ActiveX tool bars correspond to [WPF.ButtonBar](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/buttonbar/llms-full.txt), [WPF.RulerBar](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/rulerbar/llms-full.txt) and [WPF.StatusBar](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/statusbar/llms-full.txt), which you connect by name in XAML, as [XAML Integration](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/integration/xaml/llms-full.txt) shows. The ruler bar and status bar members of the tool bar tables, such as `ScaleUnit` and `PageText`, exist in WPF. The button bar members `BorderStyle`, `ButtonOffsets`, `ButtonPositions`, `ButtonSeparators` and `ButtonStyle` don't: `WPF.ButtonBar` is a WPF `ToolBar`.

### Related Pages

- [Breaking Changes](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/breaking-changes/llms-full.txt): what your code and output may need for version 34.0.
- [Migrating from .NET Framework to .NET](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/from-dotnet-framework/llms-full.txt): move the project to .NET 8 or higher at the same time.
- [Installing and Updating Packages](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/nuget/install-update/llms-full.txt): update the NuGet package.
- [Licensing](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/troubleshooting/licensing/llms-full.txt): when the controls can't be licensed after the upgrade.

---

## Nearby

- **Previous:** [Upgrade Guide](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/llms-full.txt)
- **Next:** [Migrating From .NET Framework to .NET](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/from-dotnet-framework/llms-full.txt)
