nextcloud / nextcloud/desktop

Custom updater for Windows

Open
#6,526 8 comments 38 reactions 1 assignee Claimed by @camilasan View on GitHub
3. to review feature: :inbox_tray: install and update os: :door: Windows
Dominant language
C++
Stars
3.9k
Forks
1k
Avg merge
1d 17h
Merged PRs (30d)
123

Description

We need to implement the updater similar to what is done in e.g. Chrome, or Sparkle on mac, such that we won't need to run the MSI but will just download what has changed (DLLs) and replace the old one with new ones during the restart. It is a big feature. The logic would also unload/kill the DLL extensions if needed (CF API shell extension and those for status overlays and a context menu). In most cases, we won't even need to kill them as they rarely change, but with the current approach - MSI - they are getting removed and re-installed on each update which is not ideal.

Even better would be to have a separate app that will get distributed and what it will do is download the binaries for the Nextcloud client and place them into the installation folder. This would be the second part of the feature and will make a big impact, so we will need to decide how to do it right and transition smoothly.

### How to use GitHub

* Please use the 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to show that you want to have the same feature implemented.
* Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
* Subscribe to receive notifications on status change and new comments.

### Feature description
Tell us how the feature should work

### Related issues list
- https://github.com/nextcloud/desktop/issues/6482
- https://github.com/nextcloud/desktop/issues/5369
- https://github.com/nextcloud/desktop/issues/5252
- https://github.com/nextcloud/desktop/issues/5251

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.