Install Windows with setup.exe and swap the ZIP - #1005
Merged
Merged
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
New installs copy the portable tree to %LOCALAPPDATA%\OpenNOW without an MSI product. Later updates keep the signed ZIP rename path. An MSI-registered tree is told to replace itself once with setup.exe and is not handed to msiexec. Co-authored-by: Zortos <zortosdev@proton.me>
cursor
Bot
force-pushed
the
cursor/windows-setup-zip-update-d649
branch
from
September 21, 2026 18:03
02866b4 to
85b6da1
Compare
This comment has been minimized.
This comment has been minimized.
The candidate inventory already publishes Windows setup.exe, so nightly assembly and promotion must treat those files as required packages. Signature and checksum checks stay exact; only the frozen counts of ten and twelve platform artifacts change. Co-authored-by: Zortos <zortosdev@proton.me>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Windows first install is now
setup.exe. Later updates for a user-writable tree keep the signed portable ZIP and the existing rename/restart path. An install that Windows Installer still owns is not passed tomsiexec; OpenNOW reports that it must be replaced once withsetup.exe.This branch is rebased onto current
dev, including the MSIINSTALL_ROOTquoting fix from #996. That quoting stays in the installer command. The in-app path returns the replacement message beforemsiexecruns.setup.exeis a required Windows release artifact for x64 and arm64. Nightly assembly and candidate promotion reject a set that omits it, and they still reject missing manifests, changed checksums, tampered signatures, duplicates, and symbolic links. The old assumption of ten platform artifacts is gone: the candidate inventory is the fourteen-file platform set.The WiX publish job, the
.debapply path, and the macOS DMG apply path are unchanged.How the update looks
Install confirmation for OpenNOW 1.2.3
Download progress for OpenNOW 1.2.3
MSI install must be replaced with setup.exe
update-ui-surfaces.mp4
How to try it
First install:
OpenNOW-Qt-<version>-Windows-<arch>-setup.exefrom the release job (it is produced from the portable ZIP byopennow-qt/packaging/windows/build-setup.ps1).setup.exe. It copies the portable layout to%LOCALAPPDATA%\OpenNOW, with shortcuts aimed atbin\OpenNOW.exe. It does not register an MSI product. User data stays in%APPDATA%\OpenNOW.msiexecfor it.Update:
setup.exe(the tree is not MSI-registered).OpenNOW-Qt-<version>-Windows-<arch>.zip. The helper renames the live tree toprevious, puts the new tree in its place, and restarts.OpenNOW.exe,opennow-core.exe, andopennow-update-helper.exeall move together. If the new process does not acknowledge startup, the previous tree is restored.MSI-registered install:
setup.exe. Download and install stay unavailable, andmsiexecis not started.Left for a later PR
Removing the WiX publish job,
InstallKind::WindowsMsi, and the deb/DMG apply code. Linux, macOS, Flatpak, signing keys, and theupdater.*protocol are unchanged in this slice.Tests
cargo test --manifest-path native/opennow-core/Cargo.toml --lib update_apply::tests::(34 passed), including the prepared ZIP swap and the refusal to apply an MSI.cargo test --manifest-path native/opennow-core/Cargo.toml --lib update_apply::managed::includingmsi_install_root_quotes_only_the_value_for_msiexec.cargo test --manifest-path native/opennow-core/Cargo.toml --bin opennow-core updater::(29 passed), including terminal transaction cleanup.python3 -m unittestfortest_candidate_promotion,test_macos_release,test_nightly_release,test_signed_nightly_release,test_stable_release,test_supporter_build,test_windows_setup,test_ci_release_trust, andtest_ci_workflow.To show artifacts inline, enable in settings.