There comes the first Opera 22 update that will benefit from the new silent update process on windows. You should be upgraded to it automatically, without even a UAC prompt.
In addition, to make the autoupdating even smoother, the autoupdate packages will now be sent to you in the form of a patch instead of a full package, whenever possible. This will hopefully help those of you who pay per Mb downloaded or those who have a strict monthly download quota,
In addition to this, this build also contain a few bug fixes and crash fixes. See the changelog for the full list.
For those of you who are curious or need more information in order to produce a better bug report, here are some more technical details:
The silent autoupdate feature is implemented using a scheduled task. Those of you familiar with the Windows Task Scheduler should be able to use it to retrieve information about the task. The scheduled task is supposed to run on system startup and every day initially, but we can adjust it run every few days instead if we need to reduce the load on our servers. When Opera is running, it will keep track of whether the scheduled task is running normally and will attempt to run it manually when needed. If all else fails (which should really not happen), Opera will fall back to running autoupdate itself and in such a case, UAC prompts might appear anyway.
One important exception to silent autoupdate happens if you have installed Opera from a standard user account and elected to install for the “Current User” to a folder requiring administrative privileges. The installer will allow you to proceed as usual, but it will not create a scheduled task. For installations made in this fashion, autoupdate will keep working as it used to instead and UAC prompts might appear. This is obviously because creating a scheduled task allowing silent installation from the standard user account would be impossible.
The patch packages also have their own interesting story. They are generated using bsdiff between a pair of full package. Since we release quite a large number of packages, we can’t realistically create patch packages for every single pair of packages we release (the time required and the amount of storage needed would be prohibitive). Therefore, we only generate patch packages from those pairs which we consider likely to be used as an upgrade path. In other words, if we think many user will upgrade from version X to version Y, there will be a patch package for it. And if we think it is unlikely that people will upgrade from version X to version Z, people using version X will be served a full version Z package when autoupdating.
The process of applying the binary diffs from the patch package is quite simple: First, your opera installation will be copied entirely to a temporary folder, then bspatch will be used to apply the diffs. If applying the diffs fails (and this should really not happen), then a full package will be downloaded and used instead. Finally, when the patch has been applied, the installer is run from the patched opera folder, as if it had been run from a full package, and upgrades the actual opera installation.
That’s all the technical infos for today. Stay tuned for future info about opera in general and autoupdate/the windows installer in particular. As usual, any feedback or bug report is greatly appreciated.
- opera:extensions and opera:plugins are blank
- opera://about/thanks is shown as plain text
- [OS X] Crashes when clicking Reload in toolbars asking users to reload to recover from a crash