Headless updating

updater
scripting
Tags: #<Tag:0x00007fb883e3fee8> #<Tag:0x00007fb883e3fa88>

#1

Disclaimer: I am IT support, not an ImageJ user.

It would be extremely helpful to be able to schedule automated, non-interactive updates. Is this ability available via switch, or external script?

I see that there are both scripts and macros and there is a --headless mode. Is it possible to use these features to update Fiji and/or ImageJ?

Is anyone doing this already and willing to provide information on how?

Thanks.


#2

You can run the updater from the command line, see the documentation on the wiki, e.g.:

./ImageJ-win64.exe --update update

Another option to ensure an up-to-date state of ImageJ on multiple systems (relating to the other topics you created) is to run a command-line script that simply copies a folder containing an updated version of ImageJ to all target workstations (possibly renaming and keeping the previous versions to ensure reproducibility and data integrity for users that relied on locally installed plugins). I know @ehrenfeu has some experience with this.


#3

Ah! I should have looked more thoroughly though the wiki, sorry.

As I read it, that will update ImageJ. Is there a similar option to update all the Fiji components? (I notice that is an independent item in the “help” menu.)

Thanks.


#4

The former Fiji updater was migrated into the ImageJ2 project, so it is the same thing (the Update Fiji menu item simply hasn’t been removed from the menu yet).

Running the above line will update all activated update sites, including the default sites ImageJ, Fiji and Java-8.


#5

Running some quick tests, I can see that ImageJ-win64.exe --update update works, but I have a few questions:

  1. When I update, a Fiji-Win64.exe file is created (in addition to an ImageJ-win64.exe.old). What is the difference between running that vs ImageJ-Win64.exe?
  2. Is there any way to log what was/will be updated?
  3. Are the other options identified on the wiki supposed to do anything obvious (in Windows)? For example, ImageJ-win64.exe --update list-update-sites will briefly blip on task manager, but nothing is returned to the cmd window. Similarly, ImageJ-win64.exe --update list-updateable returns nothing though it does create a .checksums file.

Thanks again.


#6

The Fiji launcher is there for historical reasons, providing a different icon and otherwise just handing off to the ImageJ launcher. And ImageJ-win64.exe.old is created as a backup because the executable was updated, I guess.

Hm, strange: on Mac OSX, I get a list of all update sites with status (enabled/disabled), as expected. If the same doesn’t happen on Windows, I’d consider it a bug…