Updating applications (e.g., Zotero) in template VMs which are not linked to the package manager

Is it possible to update a directly installed application (such as Zotero) in a Template VM without having to grant the Template temporary internet access?

Thanking you all in advance,

Just update it the same way that you installed it - download the installer from their site from some qube with internet access, move installer from qube to template and install it in template.
Or what update are you talking about? Some database update or something and not software update?

He probably means over qrexec.
Without connecting template to internet, you can update only software for which you have correspondent software repository in your repo file(s).
Otherwise, @tzwcfq’s tip is a way to go.

You might want to read

I’m not sure if I am understanding you correctly.

The update is triggered through the application itself. There is nothing to download, unless you reinstall the application and I’m assuming if I do that, I will lose my settings and data.

It depends on how your app handles updates.
The standard way to update is indeed to just install new downloaded app over old one in template. This won’t change your data or configs because they’re stored in your AppVM and not in the template.
But if your app need to somehow change your data/configs during update then it can break it.
But there are different hacks to still update it:

  1. You can update the app in your AppVM first then shutdown it. Next update your app in template and shutdown it. Then start AppVM and it should have updated software from template and updated data/confgs in AppVM.
  2. You can use bind-dirs to install your software in AppVM instead of template then you can just update it in AppVM:
    How to make any file persistent (bind-dirs) | Qubes OS

I had forgotten that my data was in the AppVM, so yes; your solution will work. I like the idea also of doing the update in the AppVM so as to ensure consistency.

I made my usual mistake of trying to diagnose a leaf while ignoring the tree.