fix: preserve frontend resources during per-user MSI build
This commit is contained in:
@@ -16,6 +16,7 @@ the frozen-backend fallback mirror it for their toolchains.
|
||||
- Tilde-separated number ranges are spoken clearly without running their endpoints together (#1821) — thanks @flutterkage2k!
|
||||
- Voice modes use themed tabs, with Synthesize and Convert pinned below their scrolling forms (#1823)
|
||||
- Fix current-user Windows installer validation and nested resource cleanup (#1873)
|
||||
- Keep generated frontend assets available while building the current-user Windows installer (#1873)
|
||||
|
||||
- Voice cloning now starts with a clear upload-or-record choice, reveals recording and reference details only when needed, and keeps sampling controls under Production Overrides (#1817)
|
||||
- The first-run welcome line uses an instruction accepted by OmniVoice and VoiceDesign engines (#1861) — thanks @psiberfunk!
|
||||
|
||||
@@ -308,8 +308,15 @@ stable per-user component identities, HKCU registry keypaths, and uninstall
|
||||
cleanup for nested resource folders. Missing or unrendered resources fail the
|
||||
build. The canonical system installer retains its per-machine authoring.
|
||||
|
||||
CI bundles both scopes with a tiny executable, an external helper, and nested
|
||||
resources using the CLI version locked in `bun.lock`. The Windows MSI authoring
|
||||
The per-user build reuses the system build's frontend output: its config clears
|
||||
`beforeBuildCommand` so a second Vite build cannot replace the hashed files
|
||||
referenced by the rendered WiX template. Keep using `tauri build` for the
|
||||
per-user stage; it still recompiles the shell with its own product configuration.
|
||||
|
||||
CI builds both scopes with a tiny executable, an external helper, and nested
|
||||
resources using the CLI version locked in `bun.lock`. Its frontend-like build
|
||||
hook rotates resource filenames, verifying the per-user build preserves the
|
||||
system build's resource snapshot. The Windows MSI authoring
|
||||
job runs after the test suite and preserves verbose WiX logs and rendered XML.
|
||||
For focused diagnosis, dispatch CI with `windows_wix_diagnostic=true`; it skips
|
||||
the other jobs and never signs, publishes, or installs the fixture bundles.
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
{
|
||||
"$schema": "../node_modules/@tauri-apps/cli/config.schema.json",
|
||||
"productName": "VoiceStudio (Current User)",
|
||||
"build": {
|
||||
"beforeBuildCommand": null
|
||||
},
|
||||
"bundle": {
|
||||
"targets": ["msi"],
|
||||
"createUpdaterArtifacts": true,
|
||||
|
||||
@@ -52,6 +52,9 @@ def test_machine_and_per_user_templates_have_distinct_scopes_and_roots():
|
||||
def test_per_user_bundle_has_separate_identity_and_no_elevated_update_task():
|
||||
config = json.loads(CONFIG.read_text(encoding="utf-8"))
|
||||
assert config["productName"].endswith("(Current User)")
|
||||
# The WiX resource snapshot comes from the preceding system build.
|
||||
# Null deletes the inherited hook via Tauri's JSON Merge Patch.
|
||||
assert config["build"]["beforeBuildCommand"] is None
|
||||
wix = config["bundle"]["windows"]["wix"]
|
||||
assert wix["upgradeCode"] == "f27de3a8-a9dc-4a3d-84bb-e98f1bf82393"
|
||||
assert wix["enableElevatedUpdateTask"] is False
|
||||
|
||||
Reference in New Issue
Block a user