Google Chrome has a super-smooth update system on Windows. It does not require administrative rights and is updated without user intervention.
I am trying to create something similar to this, and I will be grateful for any advice on how to do this.
The first part of their trick is that they are not installed in Program Files, as most Windows programs do, instead they are installed in C:\Users\USER_NAME\AppData\Local\Google\Chrome\Application. This allows their program file to modify itself without administrative privileges.
Inside this directory, I see that there is not only chrome.exe, but also old_chrome.exe. Searching the Internet, I found that chrome supports itself as old_chrome, if the update is bad, it can still start something.
So, is there a way to do this in order to create a helper application that is part of the installation package to which you pass the execution (I assume this is possible), and this helper application renames the file and stops chrome.exewhen it is done? (If so, presumably, this helper application, in turn, is uninstalled chrome.exeat startup, explaining why I can’t see it sitting.) Is there no way to just move chrome.exeto old_chrome.exeand copy and start a new one chrome.exe?
If this is the best way to do something like this work, are there any ready-made solutions for this that I could just integrate into my project, considering that this seems like pretty general functionality, or I would have to roll something like this?
, , ? ( , , Chrome , Mozilla )