# Replacing the Qt Libraries

The application keeps Qt, PySide6, and Shiboken6 as separate dynamically linked
files. You may replace them with interface-compatible modified builds of the
same 6.11.1 interfaces.

## macOS

1. Copy the application to a user-writable location.
2. In Finder, choose **Show Package Contents**.
3. Replace compatible files below `Contents/Frameworks/PySide6` or
   `Contents/Frameworks/shiboken6`, preserving their names and paths.
4. Run the included tool from Terminal:

   ```text
   "/path/Application.app/Contents/Resources/OpenSourceLicenses/Qt/resign-modified-app.command" "/path/Application.app"
   ```

5. Launch the modified copy. If macOS blocks the locally modified application,
   use the normal **Privacy & Security > Open Anyway** flow.

Replacing a nested library invalidates the publisher's original signature and
notarization. The included tool applies a local ad-hoc signature and requires
no Apple Developer account or publisher-owned key. It signs only the copy you
identify.

The replacement must be ABI-compatible. The publisher is not required to make
the application work with arbitrary incompatible Qt releases.

## Windows

1. Extract the application ZIP to a user-writable folder.
2. Replace ABI-compatible Qt 6.11.1 DLLs below
   `_internal\PySide6`, preserving their names and relative paths.
3. Replace ABI-compatible PySide6 or Shiboken6 `.pyd` and DLL files below
   `_internal\PySide6` or `_internal\shiboken6`, again preserving names and
   paths.
4. Start `RangeTracks Shot Studio.exe` from the modified folder.

The Windows development package is unsigned, so replacing a library does not
require a publisher-owned signing key. Windows may show its normal warning for
an unsigned application downloaded from the internet. The replacement must be
ABI-compatible; the publisher is not required to support incompatible Qt
releases.
