This page describes upgrade behavior introduced in FrameworX 10.1.5. The parent page Upgrading Solutions Reference remains authoritative for all released versions. When 10.1.5 ships, the content below is merged into the parent and this draft is retired. |
Starting with 10.1.5, the solution upgrade process adds three safety and diagnostic improvements. The underlying upgrade steps are unchanged; only the file handling around the upgrade and the visibility of individual step warnings have changed.
Every upgrade creates a preserved backup of the original solution file next to the solution itself. You do not need to copy the file manually before running the upgrade. The backup filename encodes the source version.
For example, upgrading Plant.dbsln from an earlier 10.1.x release, after the upgrade your solution folder contains:
File | Content |
|---|---|
| The upgraded solution. Open this one in the Designer. |
| Preserved snapshot of the pre-upgrade solution. Safe to delete once the upgrade is validated in your lab environment. |
Legacy .tproj upgrades continue to behave the same as in earlier releases: the original .tproj file stays on disk untouched and acts as its own rollback copy.
When an upgrade does not complete successfully, 10.1.5 guarantees:
Your original solution file is left exactly as it was. The upgrade process never deletes or overwrites the source on failure.
The backup copy created at the start of the run is also kept on disk, even though the upgrade did not finish. You can re-run the upgrade after fixing whatever condition caused the failure.
The Solution Center displays a failure dialog that includes the full path to the upgrade log file (typically %PUBLIC%\Documents\FrameworX\TraceLogs\UpgradeLog.txt). Open the log to see the exception detail that caused the failure.
An upgrade can complete successfully while still logging individual non-fatal warnings — for example, a single table cell whose legacy value cannot be mapped to the new schema. When this happens, the Solution Center displays a count on the Upgrade Concluded dialog:
N exception(s) logged during upgrade. Open log file
Click Open log file to launch the upgrade log in your default text editor. Each logged entry includes:
The upgrade step that produced the warning (for example, CopyMembers cell convert [DisplaysListContents.Xaml]).
The full exception message and stack trace.
Review the logged warnings as part of your pre-production validation. Most are informational — a row or cell that could not be automatically migrated — and can be resolved by hand in the Designer after the upgrade.
Solutions that upgraded silently on 10.1.4 and earlier may show a non-zero warning count on 10.1.5. This is a visibility change, not a behavioral one — the same legacy data condition was being silently skipped before. The upgrade still succeeds in the same scenarios it did before. |
The headless upgrade utility SolutionUpgrade.exe (shipped in the FrameworX program folder) now prints exception details directly to the console instead of surfacing only the aggregate count. Typical output:
> SolutionUpgrade.exe "C:\Projects\Plant.dbsln" Upgrading: C:\Projects\Plant.dbsln Previous version: fs-10.1.4-12345 Backup file: C:\Projects\Plant_fs-10.1.dbsln [ 5%] Preparing table 'UserTypesContents'... [ 78%] Copying source tables to target... Upgrade finished. Exceptions during upgrade: 1 --- UpgradeLog.txt (this run) --- 2026-04-21 10:32:14 ****** Upgrade started: C:\Projects\Plant.dbsln ****** 2026-04-21 10:32:16 Exception on CopyMembers cell convert [DisplaysListContents.Xaml]: ... 2026-04-21 10:35:02 ****** Upgrade finished: C:\Projects\Plant.dbsln ****** --- end of log --- Full log: C:\Users\Public\Documents\FrameworX\TraceLogs\UpgradeLog.txt |
Exit codes:
Code | Meaning |
|---|---|
| Successful upgrade. Non-fatal warnings may have been logged; check the tail output. |
| Fatal upgrade failure. Original file is preserved; backup file is preserved. |
| Invalid command-line arguments. |