Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modify WinNUT Update Routines (ClickOnce deployments) #97

Open
2 tasks
Tracked by #135
gbakeman opened this issue Aug 3, 2023 · 0 comments
Open
2 tasks
Tracked by #135

Modify WinNUT Update Routines (ClickOnce deployments) #97

gbakeman opened this issue Aug 3, 2023 · 0 comments
Assignees
Labels
🤖CI/CD Issues and PRs that concern continuous integration and deployment. enhancement New feature or request

Comments

@gbakeman
Copy link
Contributor

gbakeman commented Aug 3, 2023

The old MSI Installer/Setup system is not CI/CD friendly, so the need has arisen to find a new packaging and deployment system. Per #85, ClickOnce is a native msbuild packaging system that looks like a good solution. Prior to completing that, the WinNUT client needs to gracefully transition from the old system to the new one.

Strategies

Gradual procedure

Stage 1 - New Update Code

The first stage involves revamping the updater code in WinNUT. The current system relies on parsing HTTP queries sent directly to the GitHub web API, and presents a Form control prompting the user to update.

Changes

  • Use a .Net Library to communicate with GitHub for update information
  • Modular update installation system
    • MSI download & install
    • ClickOnce deployments

Todo

Swift migration

An alternative to the gradual procedure, especially since we're already seeing issues with our current hybrid method of using Application Settings with the old MSI deployment scheme. The idea is to switch to a dual ClickOnce and MSI deployment system with the next pre-release, and maintain that through to the next full release. This will maintain a level of compatibility to catch users using the old update system that expects After that, we will switch to a true Semver versioning scheme (resetting the patch value to zero), and the MSI will no longer be built & deployed.

Dealing with old MSI installation

If we provide the ClickOnce installer to a user who is currently on the MSI installation, I don't think there's an automatic facility to remove the MSI installation and replace it with the ClickOnce installation.

References

@gbakeman gbakeman added enhancement New feature or request 🤖CI/CD Issues and PRs that concern continuous integration and deployment. labels Aug 3, 2023
@gbakeman gbakeman added this to the 2.2 Stable Release milestone Aug 3, 2023
@gbakeman gbakeman self-assigned this Aug 3, 2023
@gbakeman gbakeman mentioned this issue Apr 16, 2023
12 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🤖CI/CD Issues and PRs that concern continuous integration and deployment. enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant