[GH-ISSUE #345] Make updates easier #2223

Closed
opened 2026-03-01 17:18:46 +03:00 by kerem · 9 comments
Owner

Originally created by @MWinhard on GitHub (Jan 19, 2023).
Original GitHub issue: https://github.com/1Remote/1Remote/issues/345

Originally assigned to: @VShawn on GitHub.

Is your feature request related to a problem? Please describe.
Each time a new version is released, I have to go to github, find the list of changes, download the zip file, exit PRmoteM, extract the zip file to the folder where PRemoteM is installed. This can be done easier.

Describe the solution you'd like
Display all releases newer than the installed one in the PRemoteM main window. The release text may be fetched from github. Beside each release offer a button [Install this release].

If you cannot create files in the install folder, disable the button and give it a tooltip that says why it's disabled.

Describe alternatives you've considered
A checkbox "Install updates automatically". But: As PRemoteM is mostly used by admins and developers, the [Install this release] button is a better fit, IMHO.

Additional context
When I click the [Install this release] button, every step necessary should be automated. After the update is installed, restart PRemoteM.

PRemoteM.exe can be renamed while running. So you don't need a separate updater EXE. Just rename the old EXE, copy the new EXE, start the new EXE, then exit the old EXE. Same procedure should work for dll files.

Originally created by @MWinhard on GitHub (Jan 19, 2023). Original GitHub issue: https://github.com/1Remote/1Remote/issues/345 Originally assigned to: @VShawn on GitHub. **Is your feature request related to a problem? Please describe.** Each time a new version is released, I have to go to github, find the list of changes, download the zip file, exit PRmoteM, extract the zip file to the folder where PRemoteM is installed. This can be done easier. **Describe the solution you'd like** Display all releases newer than the installed one in the PRemoteM main window. The release text may be fetched from github. Beside each release offer a button [Install this release]. If you cannot create files in the install folder, disable the button and give it a tooltip that says why it's disabled. **Describe alternatives you've considered** A checkbox "Install updates automatically". But: As PRemoteM is mostly used by admins and developers, the [Install this release] button is a better fit, IMHO. **Additional context** When I click the [Install this release] button, every step necessary should be automated. After the update is installed, restart PRemoteM. PRemoteM.exe can be renamed while running. So you don't need a separate updater EXE. Just rename the old EXE, copy the new EXE, start the new EXE, then exit the old EXE. Same procedure should work for dll files.
kerem 2026-03-01 17:18:46 +03:00
  • closed this issue
  • added the
    question
    label
Author
Owner

@majkinetor commented on GitHub (Jan 19, 2023):

You can use choclatey package. Install it and then type in shell 1 command.

  • Install choco: Set-ExecutionPolicy Bypass -Force; iwr https://community.chocolatey.org/install.ps1 | iex
  • To install cinst premotem
  • To update cup premotem

You can also use winget to install/update from store in the same fashion. It is included in Windows 11 and in latest updates in Windows 10: winget install/upgrade premotem

<!-- gh-comment-id:1397194149 --> @majkinetor commented on GitHub (Jan 19, 2023): You can use choclatey package. Install it and then type in shell 1 command. - Install choco: `Set-ExecutionPolicy Bypass -Force; iwr https://community.chocolatey.org/install.ps1 | iex` - To install `cinst premotem` - To update `cup premotem` You can also use `winget` to install/update from store in the same fashion. It is included in Windows 11 and in latest updates in Windows 10: `winget install/upgrade premotem`
Author
Owner

@majkinetor commented on GitHub (Jan 19, 2023):

Your suggestion is IMO out of domain for this type of software. No app should reivnent package managers.

<!-- gh-comment-id:1397195030 --> @majkinetor commented on GitHub (Jan 19, 2023): Your suggestion is IMO out of domain for this type of software. No app should reivnent package managers.
Author
Owner

@VShawn commented on GitHub (Jan 20, 2023):

Agrees.. since you can get update from Microsoft store or Chocolatey, we have no need to deploy a update service for this app.

I desiged the update system in the very begining, and cancel the plan after Microsoft store version was published :)

<!-- gh-comment-id:1397862884 --> @VShawn commented on GitHub (Jan 20, 2023): Agrees.. since you can get update from `Microsoft store` or `Chocolatey`, we have no need to deploy a update service for this app. I desiged the update system in the very begining, and cancel the plan after `Microsoft store` version was published :)
Author
Owner

@MWinhard commented on GitHub (Jan 22, 2023):

I see your point. But...

I like to have my programs portable. So I did with PRemoteM. Whenever I have to set up a new physical or virtual machine I can just copy the folder with all my portable programs. The copy includes all my settings and customizations.

Let's be honest. Installing software on a new machine is done in a snap. What takes time is restoring all the settings of each program. Even if there's an export/import machanism.

With chocolatey or winget i just get the software. No settings at all.

<!-- gh-comment-id:1399492812 --> @MWinhard commented on GitHub (Jan 22, 2023): I see your point. But... I like to have my programs portable. So I did with PRemoteM. Whenever I have to set up a new physical or virtual machine I can just copy the folder with all my portable programs. The copy includes all my settings and customizations. Let's be honest. Installing software on a new machine is done in a snap. What takes time is restoring all the settings of each program. Even if there's an export/import machanism. With chocolatey or winget i just get the software. No settings at all.
Author
Owner

@majkinetor commented on GitHub (Jan 22, 2023):

Whats wrong with install via choco/winget, copy your db to that folder (or copy entire portable folder over it). You can also do that other way around, package manaer will just update what you already have there, just put it in the folder where it was originaly placed by the package manager.

I use it in portable manner in this way no problems whatsoever.

<!-- gh-comment-id:1399494154 --> @majkinetor commented on GitHub (Jan 22, 2023): Whats wrong with install via choco/winget, copy your db to that folder (or copy entire portable folder over it). You can also do that other way around, package manaer will just update what you already have there, just put it in the folder where it was originaly placed by the package manager. I use it in portable manner in this way no problems whatsoever.
Author
Owner

@MWinhard commented on GitHub (Jan 22, 2023):

You asked what's wrong with choco/winget: Afterwards you have to somehow copy your settings over. This is a different process for every piece of software. Way more work than just copy one folder with all your portable programs and their setting.

But anyway. I'll give it a choice.

I tried winget. It ignores the location parameter. Just installs in default location. Not what I need. Uninstalled.

I installed chocolatey the default way. Then moved the whole directory from C:\ProgramData\Chocolatey to F:\PORTABLE\Chocolatey. Updated the machine environment variable ChocolateyInstall=F:\PORTABLE\Chocolatey.
Run Powershell as admin and install PRemoteM: choco install premotem --force

Now it's installed in C:\tools\PRemoteM. Not what I expected. How do I tell it that it has to install in F:\PORTABLE\PRemoteM?

<!-- gh-comment-id:1399535966 --> @MWinhard commented on GitHub (Jan 22, 2023): You asked what's wrong with choco/winget: Afterwards you have to somehow copy your settings over. This is a different process for every piece of software. Way more work than just copy one folder with all your portable programs and their setting. But anyway. I'll give it a choice. I tried winget. It ignores the location parameter. Just installs in default location. Not what I need. Uninstalled. I installed chocolatey the default way. Then moved the whole directory from C:\ProgramData\Chocolatey to F:\PORTABLE\Chocolatey. Updated the machine environment variable ChocolateyInstall=F:\PORTABLE\Chocolatey. Run Powershell as admin and install PRemoteM: `choco install premotem --force` Now it's installed in C:\tools\PRemoteM. Not what I expected. How do I tell it that it has to install in F:\PORTABLE\PRemoteM?
Author
Owner

@majkinetor commented on GitHub (Jan 22, 2023):

Oh, details details... you are just piling them up :)

winget uses windows store in this case, its the same as you GUI clicked on it, you don't have a choice of folder there too. Also, you are using above "portable chocolatey". I have never tried that, but I guess it might work too. Anyway, you don't want portable choco, but portabnle PRM.

OK, go this way:

  1. Install chocolatey
  2. choco install premotem --params '/InstallDir:F:\Portable\PRemotem' (if you have spaces in path put folder in the quotes
  3. Copy your PRM folder to F:\Portable\PRemoteM, overwrite all.

Now you can update with cup premotem or cup all if you have more pacakges. It should also work if you do first 3, then 1,2.

<!-- gh-comment-id:1399582820 --> @majkinetor commented on GitHub (Jan 22, 2023): Oh, details details... you are just piling them up :) winget uses windows store in this case, its the same as you GUI clicked on it, you don't have a choice of folder there too. Also, you are using above "portable chocolatey". I have never tried that, but I guess it might work too. Anyway, you don't want portable choco, but portabnle PRM. OK, go this way: 1. Install chocolatey 2. `choco install premotem --params '/InstallDir:F:\Portable\PRemotem'` (if you have spaces in path put folder in the quotes 3. Copy your PRM folder to `F:\Portable\PRemoteM`, overwrite all. Now you can update with `cup premotem` or `cup all` if you have more pacakges. It should also work if you do first 3, then 1,2.
Author
Owner

@MWinhard commented on GitHub (Jan 23, 2023):

Now it works. And it's still completely portable. :-)

Thank you very much!

<!-- gh-comment-id:1400078853 --> @MWinhard commented on GitHub (Jan 23, 2023): Now it works. And it's still completely portable. :-) Thank you very much!
Author
Owner

@majkinetor commented on GitHub (Jan 23, 2023):

You are welcome :)

<!-- gh-comment-id:1400111582 --> @majkinetor commented on GitHub (Jan 23, 2023): You are welcome :)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/1Remote#2223
No description provided.