# Compatible Qt replacement for SumWise Store recipients These instructions describe a personal Windows development/test deployment, not an in-place Store update. They do not grant redistribution rights to proprietary SumWise files. Third-party licence rights remain applicable. ## Prerequisites and tested scope Use your own legitimate Microsoft Store acquisition and the Windows account that acquired SumWise. Install from Store and launch it successfully first. No purchase, trial reset, private signing key, Partner Center access, proprietary repository or special developer entitlement is part of this procedure. The ordinary SumWise 2.6.0/x64 Store-composed executable was tested with Qt 6.10.1, real Store authorization and a compatible modified QtSvg on one licensed Windows account. Read-only copying of the installed public 2.5.0.0 payload was also verified on that account without changing WindowsApps permissions. Copying the final Store-delivered 2.6 payload has not yet been tested. Use these 2.6 source materials only with the matching 2.6 runtime; do not relabel a 2.5 copy. This source page is not an announcement that 2.6 is publicly released. You need a local NTFS scratch folder, enough disk space, and Windows Developer Mode if required for loose registration. The machine owner controls that setting; leave Device Portal and Device Discovery off. Organization policy can prevent this route. Stop if ordinary reads or local registration are denied; do not alter WindowsApps ACLs, disable checks or work around policy. Building your own library requires compatible x64 Qt 6.10.1/MSVC development files and tools; see BUILD-AND-REPLACEMENT.txt. They are not needed for ordinary SumWise use. Keep important workspace files separately and back them up first. Uninstalling the public package can remove app-local settings, history and recovery. This procedure cannot promise an exact settings rollback. ## Obtain the matching application files before uninstalling In ordinary Windows PowerShell as the licensed interactive user, query only: ```powershell $p = @(Get-AppxPackage -Name 'AveryWise.SumWise') if ($p.Count -ne 1) { throw 'Expected one SumWise package' } $p = $p[0] $p | Select-Object PackageFullName, PackageFamilyName, Publisher, Version, Architecture, InstallLocation, IsDevelopmentMode, SignatureKind, Status ``` Require family `AveryWise.SumWise_e1zyk0n741p5g`, publisher `CN=D8EB9C22-4897-4423-A31F-E0EF0117221B`, x64, Store signature, Status Ok and IsDevelopmentMode False. Record the actual version and full name. For this 2.6.0 companion require package version 2.6.0.0 and matching Qt 6.10.1 DLLs. If Store currently supplies another version, retain that working installation and use matching source materials; do not change manifest version or identity. Close SumWise normally. Set `$source = $p.InstallLocation` and choose a NEW user-owned local folder, for example `$test = Join-Path $env:LOCALAPPDATA 'SumWise-Library-Test-2.6.0'` (one PowerShell line). Read/copy the application's files from `$source` into `$test`, preserving relative subdirectories. Copy files only, not filesystem links. Refuse an existing destination. Exclude only package-container metadata `AppxBlockMap.xml`, `AppxSignature.p7x`, `[Content_Types].xml` and `AppxMetadata/CodeIntegrity.cat` from the loose copy. Do not remove those files from the installed package. A loose development layout is not the original signed package. Preserve the application manifest, EXE, DLLs, assets, notices and all other payload files unchanged. Use `Get-FileHash -Algorithm SHA256 -LiteralPath ''` to compare every copied payload file against the installed original before proceeding. Record relative names, sizes and hashes outside the loose layout. In particular check AppxManifest.xml, SumWise.exe, Qt6Svg.dll and imageformats/qsvg.dll. Retain the original Qt6Svg separately. The manifest and supplied runtime must all belong to the same installed version. No supplier-private drive path is required. ## Register and establish an unmodified baseline Review the data-loss warning above. Freshly query SumWise again and require the same public package full name, identity and non-development Store state. Only after deciding to proceed, remove that one observed current-user package: ```powershell Remove-AppxPackage -Package '' -ErrorAction Stop ``` Do not use AllUsers, another SID, forced removal or PreserveApplicationData for this public-package removal. Require `Get-AppxPackage -Name 'AveryWise.SumWise'` to return no registration. Register the prepared copy once: ```powershell Add-AppxPackage -Register '\AppxManifest.xml' -ErrorAction Stop ``` Require matching identity/version and IsDevelopmentMode True, with InstallLocation exactly your test folder. On an error, preserve the message and restore through Store; do not try signature bypasses or identity variants. Launch SumWise from Start as the same non-elevated licensed user. Confirm real authorization and enter each expression alone: ```text 6*7 sqrt(9[m^2]) sqrt(2[m^2]) ``` For 2.6 the results are 42, Exact 3 m, and Approx about 1.4142135623731 m. Stop and restore if authorization fails; do not reset licence caches. ## Replace and verify the library Close the app completely. Replace only Qt6Svg.dll in your scratch layout with your ABI-compatible x64 build. Launch the same registered ordinary app and repeat the calculations. Confirm SumWise.exe's hash remains unchanged. Inspect the actual SumWise process's loaded modules (for example its Windows PowerShell Process.Modules collection); require the Qt6Svg module path to be your scratch DLL and compare its SHA-256 with your build. File presence alone does not prove execution. Do not inspect another application's modules. Normal calculation actions in the tested workflow did not load QtSvg. A bounded diagnostic used Qt's documented `-stylesheet` option, with the same small local SVG and stylesheet in both original/replacement runs. To reproduce that diagnostic, create your own small SVG and a QSS rule such as `QMenuBar { background-image: url("C:/your-test/probe.svg"); background-repeat: no-repeat; background-position: right center; }`. Substitute your own path. Launch the SAME registered executable with: ```powershell Invoke-CommandInDesktopPackage -PackageFamilyName 'AveryWise.SumWise_e1zyk0n741p5g' -AppId 'SumWise' -Command '\SumWise.exe' -Args '-stylesheet ""' ``` Verify visible SVG rendering and the actual loaded DLL separately. This is a library diagnostic, not a SumWise product feature. No diagnostic binaries or private test media are required. Arbitrary incompatible libraries may fail. ## Restore even when a test fails Close only your test app normally and restore the original scratch DLL. Freshly query SumWise. Remove a registration ONLY when IsDevelopmentMode is True AND InstallLocation exactly equals your scratch folder, and identity still matches. Use its observed full name: ```powershell Remove-AppxPackage -Package '' -PreserveApplicationData -ErrorAction Stop ``` Stop on any mismatch; never remove an unexpected installation. This flag does not undo data loss from the earlier public uninstall. Reinstall through your already-owned SumWise Store Library/product entry, without paying or resetting a trial. Record the version actually delivered and verify `6*7` gives 42. The Store may offer a different public version; no downgrade is promised. References: Microsoft [local package registration and activation](https://learn.microsoft.com/en-us/windows/msix/desktop/desktop-to-uwp-debug), [development-package metadata rules](https://learn.microsoft.com/en-us/windows/win32/appxpkg/troubleshooting), [Remove-AppxPackage](https://learn.microsoft.com/en-us/powershell/module/appx/remove-appxpackage), and Qt [application stylesheet option](https://doc.qt.io/qt-6.10/qapplication.html). This technical evidence is limited to the tested account/machine and compatible library; it is not final Store-update acceptance or legal certification.