openclaw / openclaw/openclaw-windows-node
Decide Windows packaging and auto-update strategy
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 2.1k
- Forks
- 295
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 99
Description
Problem
The Windows tray currently appears to ship through three different distribution/update paths:
-
Inno Setup installer via
installer.iss- Release workflow builds
OpenClawTray-Setup-x64.exeandOpenClawTray-Setup-arm64.exe. - This looks like the friendly/default install path.
- Release workflow builds
-
Portable ZIP artifacts
- Release workflow builds
OpenClawTray-<version>-win-x64.zipandOpenClawTray-<version>-win-arm64.zip. - Workflow comments say these ZIPs are for Updatum auto-update.
- App code configures Updatum like a portable/single-file update flow, not like installer/MSIX update flow.
- Release workflow builds
-
MSIX packages
- CI/release builds
OpenClawTray-<version>-win-x64.msixandOpenClawTray-<version>-win-arm64.msix. - Release notes describe MSIX as useful for packaged Windows consent surfaces such as camera/microphone permissions.
- CI/release builds
That means install/update behavior is ambiguous: a user may install with the .exe, but the in-app updater may consume ZIP assets; MSIX has its own install/update semantics but is not wired into the in-app updater.
Why this matters
We should make a deliberate packaging decision before the Windows tray gets broader distribution:
- avoid users accidentally crossing install technologies during update
- avoid duplicated signing/release complexity if we do not need all formats
- define which package is the supported/default path
- define how camera/microphone/screen permissions should behave for unpackaged vs packaged installs
- make Updatum asset selection explicit and tested
Current evidence
installer.issis active in the tag release workflow and builds signed installer.exeassets..github/workflows/ci.ymlbuilds portable ZIPs and comments that they are for Updatum auto-update..github/workflows/ci.ymlalso builds MSIX packages.App.xaml.csconfiguresUpdatumManagerwithInstallUpdateSingleFileExecutableName = "OpenClaw.Tray.WinUI"and does not explicitly target installer or MSIX assets.
Decision needed
Pick one of these strategies:
- Installer-first: EXE installer is the blessed install/update path; configure updater to download/run the installer, and demote ZIP/MSIX as secondary/manual assets.
- Portable-first: ZIP is the blessed install/update path; keep Inno only for convenience install and document that it transitions to ZIP-based self-update.
- MSIX-first: MSIX is the blessed install/update path; use MSIX/App Installer update semantics and remove or demote the custom updater/installer.
- Hybrid, explicitly supported: keep multiple paths, but document and test which updater applies to each installed form.
Proposed acceptance criteria
- Document the supported/default install path in README/release notes.
- Document whether
.exe,.zip, and.msixare primary, secondary, or deprecated. - Make Updatum asset selection explicit, including architecture matching.
- Add/update tests or a release checklist proving the updater downloads the intended asset type.
- Ensure the updater does not accidentally update an MSIX install with ZIP files or an installer install with an incompatible portable layout.
- If multiple install paths remain, document how each one updates.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing installer.iss, .github/workflows/ci.yml, and App.xaml.cs to map the installer, ZIP, MSIX, and Updatum paths. Review the README and release notes requirements, then define one supported strategy, document each package's status and architecture matching, and add the requested updater tests or release checklist.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, github-actions
- Domain
- build-system, desktop, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100