You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[windows] Embed DFNR model and set Store identity (#3225)
## Summary
This prepares the Windows Store MSIX package for submission while
keeping DFNR enabled without shipping the DeepFilterNet model as a
`.tar.gz` archive.
- Embed the DeepFilterNet model resources at build time so Store
packages can load DFNR data directly from Qt resources.
- Update the Windows MSIX packaging script and CI workflow to exclude
the loose DFNR model payload for Store builds.
- Add checked-in Partner Center package identity defaults for the Store
submission:
- `Identity.Name`: `AetherSDR.AetherSDR`
- `Identity.Publisher`: `CN=E03F94A2-AEAB-46D2-8BF1-6419C305CC44`
- `PublisherDisplayName`: `AetherSDR`
- Document the Store build flow, identity defaults, validation steps,
and upload package behavior.
## Implementation Notes
The DFNR loader now first tries the existing app-data model location,
then falls back to a packaged resource path when the model is embedded.
This lets normal development/test builds continue to use external model
files while Store builds avoid archive payloads that WACK flags.
The workflow sources `packaging/windows/store-identity.ps1` before
creating the MSIX. The helper only fills missing environment variables,
so CI repository variables or local shell variables can still override
the identity when needed.
## Validation
Built locally from a fresh Windows Store submission worktree using the
MSVC environment and 8 build jobs.
- `cmake --build build\msvc-store-submit --target AetherSDR -j 8`
- `windeployqt deploy\AetherSDR.exe --release --no-translations
--no-system-d3d-compiler`
- `packaging\windows\create-msix.ps1 -DeployDir deploy -PackageRoot
AetherSDR-store-submission\msix-root -OutputDir
AetherSDR-store-submission -CreateUpload -SkipSign -ExcludeDfnrModel`
- `packaging\windows\check-dpi-awareness.ps1 -ExePath
deploy\AetherSDR.exe`
- Windows App Certification Kit on the final MSIX
Final local validation results:
- Manifest identity verified as `AetherSDR.AetherSDR` /
`CN=E03F94A2-AEAB-46D2-8BF1-6419C305CC44` / `AetherSDR`.
- Final package contains `deepfilter.dll` and `AetherSDR.exe`, but no
`DeepFilterNet`, `.dfmodel`, or `.tar.gz` payload.
- WACK overall result: `PASS`.
- WACK `Archive files usage`: `PASS`.
- WACK `DPIAwarenessValidation`: `PASS`.
- WACK optional `Blocked executables`: still reports findings from
Qt/OpenGL/process API/static string matches, but overall WACK remains
`PASS`.
The final local artifact for Partner Center submission is the generated
`.msixupload`; it is intentionally unsigned with `-SkipSign` because
Microsoft signs Store-distributed packages.
---------
Co-authored-by: Codex <noreply@openai.com>
0 commit comments