AUTOUPDATER SKIP UPDATE is not supported

Hello, I have a Problem with this option (AUTOUPDATER_DUPLICATI_SKIP_UPDATE).
I am currently running Duplicati - 2.0.4.30_canary_2019-09-20…
Which version supports it?

I believe it is supported.

Which platform are you running? If it’s Windows, you should be fine. But Linux (and maybe MacOS) is case-sensitive when it comes to environment variables. You will want to use AUTOUPDATER_Duplicati_SKIP_UPDATE as the variable name.

An alternative to the environment variable approach is to disable the updater on the main Duplicati Settings page.

Oh, sorry, I use Windows 10, and there is no such option on settings page…

BaseVersionName : 2.0.4.30_canary_2019-09-20
CLRVersion : 4.0.30319.42000
CLROSInfo : {“Platform”:“Win32NT”,“ServicePack”:"",“Version”:“10.0.18362.0”,“VersionString”:“Microsoft Windows NT 10.0.18362.0”}

I believe the option disappears from the web UI if the environment variable is in effect.

The reason you are getting the warning in your job log is because you are setting it as a regular duplicati “option”. It isn’t - it must be an environment variable. So remove it from the Default Options section in your screen shot.

Start a cmd prompt and type “SET AU” to see if it’s properly set as an environment variable:

Capture

It’s important that the environment variable is either set as a system/computer-level variable, or if it’s a user-level variable it needs to be for the same user that Duplicati runs as.

Thank you for the answers!

  1. So, after removing the manually added option from “Options” it does not appear anywhere in UI.
  2. SET AU gave me nothing in CMD
  3. so I have manually set system level variable “AUTOUPDATER_Duplicati_SKIP_UPDATE” to “1”
  4. and now command"SET AU" gives me “AUTOUPDATER_Duplicati_SKIP_UPDATE=1” in CMD

My question is: is it enough? How to tell if this is really working in Duplicati now?

Regarding an earlier comment about the option appearing in the UI - it doesn’t. I was thinking of the Usage Reporting option. As far as I know the auto update option can only be disabled by using the environment variable.

You’ll need to restart Duplicati if you haven’t already. Once you do it should be in effect. But I’m not sure if that is shown in the UI anywhere for confirmation. Maybe someone else knows.

Well I guess I must have cursed myself by talking about it… it doesn’t look like it’s working. My Duplicati alerted me just now of an update. :rofl:

I think this is a multiple-part question. One is how to specify it, and I agree that it’s not an “option” but an environment variable to set. Next is whether it has any effect, and you’ll probably notice that (at least on Windows) you have fewer Duplicati processes because things like Duplicati.GUI.TrayIcon.exe no longer start in pairs. I think this ties in with the first part. The autoupdater doesn’t replace the base version that’s originally installed, but has it start and check for an installed update (different drive location) then run that, however below is how this environment variable stops the start of possibly-updated child, and runs base:

As an aside, I think options get read after that split-or-not, which is why an environment variable is used.

Downgrading / reverting to a lower version talks about how to remove an update to get to a lower version.
[SOLVED] Is it ok that I see 5 processes of Duplicati in Windows Task manager? talks about processes.

Then there’s the question of whether or not notification of new updates should happen, and I’m not certain that disabling that is within the scope of the AUTOUPDATER_Duplicati_SKIP_UPDATE=1 variable’s function. I’ve had to do somewhat absurd measures like set AUTOUPDATER_Duplicati_URLS=http://127.0.0.1 (which makes sure it can’t find an update on my local computer’s non-existent web server) to stop alerts.

One question is what @rx777 is trying to achieve. There wouldn’t be an alert now about an update from 2.0.4.30 because there’s nothing newer now. Running GUI, one always has time to look at release notes, ignore that update, let it age awhile to see how it goes, etc. If the goal is to avoid buggier canary releases, while waiting for Beta, then change your update channel setting to Beta (or maybe Experimental) instead.

I’d note that there may be a serious bug in 2.0.4.30 and earlier, so updates are not always worth avoiding.

I’m going to spend some time digging into this a bit deeper because now I’m curious what this option is supposed to do, exactly.

In my case I do want it to suppress the entire check/notification process. Not because I avoid updates, but because I want to do them manually.

What I am trying to achieve isn’t to not being informed about possible updates.
Of course it is very useful information.
I just need to not see them (as iritating popups) in the program GUI…
The best thing would be for me to be informed (only) per email about updates (and errors, warnings)…

For that, you can try my absurd measure set AUTOUPDATER_Duplicati_URLS=http://127.0.0.1 until something better is found or made. You could make a feature request for emails on updates, but features frequently have to wait until basic functionality such as reliable backups and restores gets in better shape.

I’ve got an odd install-from-zip setup that lets me switch Duplicati versions easily, e.g. to test old versions which are meant to stay old, and I don’t need to be told that they’re old. Below is part of the startup script:

rem Set Duplicati to use a single process, just to reduce clutter. This seems to work:
set AUTOUPDATER_Duplicati_SKIP_UPDATE=true

rem Set Duplicati to never check for updates. SKIP_UPDATE doesn't help, nor does this:
set AUTOUPDATER_Duplicati_POLICY=Never

rem Try to squash updates with bad URL
set AUTOUPDATER_Duplicati_URLS=http://127.0.0.1

Some of that is references to Duplicati.Library.AutoUpdater.exe functionality that may or may not fit what TrayIcon can do. Perhaps @drwtsn32 will run across the code as well (there’s a lot to the autoupdater).

Interestingly, that DISABLE_UPDATE_DOMAIN flag is set to True whenever AUTOUPDATER_Duplicati_SKIP_UPDATE is present in the environment - it doesn’t even matter what it is set to! =1, =0, =True, =Banana - doesn’t matter.

I’m unclear what “domain” is referring to. There are references to AppDomain in the changelog as an alternative to spawning a second process.

Question I have is if the intent of DISABLE_UPDATE_DOMAIN is to change the way updates happen (AppDomain vs spawned process), or is it really supposed to disable the updating engine entirely? If the latter, I think it should also disable the check-for-update and notification functions, as well.

I might dig through past versions to see if it sheds any light on the intent of this option.

Make consistent parsing of boolean options #392 is an old comment on philosophy, but recently see this:

All boolean options are false by default, so supplying them will set them to true , unless the value is either false , no , 0 or off .

And I’m still not sure it’s 100% consistent so I’m kind of careful. GUI also has a pitfall where supplying the option doesn’t set it to true. You have to check it (I believe, or at least some people have tripped over that).

@ts678 - think this part of your script is the key… AUTOUPDATER_Duplicati_POLICY=Never appears to disable the automatic checking and downloading of updates, and presumably the notification.

Going to test…

I agree with above, but in this particular case the check is only for the presence of the variable - it makes no attempt to parse the actual value:

As you can see the only check is IsNullOrWhiteSpace

It should probably be changed to something like:

private static readonly bool DISABLE_UPDATE_DOMAIN = (Library.Utility.Utility.ParseBool(System.Environment.GetEnvironmentVariable(string.Format(SKIPUPDATE_ENVNAME_TEMPLATE, APPNAME))));