tis-zotero icon

Zotero

Silent install package for Zotero

8.0.4-14
Utilities
Utilities

Preprod packages are packages built on LUTI. They remain in PREPROD usually for 5 days, after which a second VirusTotal scan is performed to verify that the status has not changed.
If the package passes this last check, it is promoted to PROD and published on the store.

  • package: tis-zotero
  • name: Zotero
  • version: 8.0.4-14
  • categories: Utilities
  • maintainer: WAPT Team,Tranquil IT,Amel FRADJ
  • editor: Corporation for Digital Scholarship
  • licence: AGPL
  • locale: all
  • target_os: windows
  • impacted_process: zotero
  • architecture: x64
  • signature_date:
  • size: 94.31 Mo
  • installed_size: 116.42 Mo
  • homepage : https://www.zotero.org/

package           : tis-zotero
version           : 8.0.4-14
architecture      : x64
section           : base
priority          : optional
name              : Zotero
categories        : Utilities
maintainer        : WAPT Team,Tranquil IT,Amel FRADJ
description       : Zotero is a free and open-source reference management software to manage bibliographic data and related research materials
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : windows
min_wapt_version  : 2.0
sources           : https://www.zotero.org/download/
installed_size    : 116416512
impacted_process  : zotero
description_fr    : Zotero est un logiciel de gestion de références gratuit, libre et open source, il permet de gérer des données bibliographiques et des documents de recherche
description_pl    : Zotero jest wolnym i otwartym oprogramowaniem do zarządzania referencjami, służącym do zarządzania danymi bibliograficznymi i powiązanymi materiałami badawczymi
description_de    : Zotero ist eine kostenlose und quelloffene Literaturverwaltungssoftware zur Verwaltung bibliographischer Daten und verwandter Forschungsmaterialien
description_es    : Zotero es un software de gestión de referencias gratuito y de código abierto para gestionar los datos bibliográficos y los materiales de investigación relacionados
description_pt    : Zotero é um software de gestão de referências gratuito e de código aberto para gerir dados bibliográficos e materiais de investigação relacionados
description_it    : Zotero è un software di reference management gratuito e open-source per la gestione dei dati bibliografici e dei relativi materiali di ricerca
description_nl    : Zotero is een gratis en open-source referentiebeheersoftware om bibliografische gegevens en verwant onderzoeksmateriaal te beheren
description_ru    : Zotero - это бесплатное программное обеспечение с открытым исходным кодом для управления библиографическими данными и сопутствующими исследовательскими материалами
audit_schedule    : 
editor            : Corporation for Digital Scholarship
keywords          : 
licence           : AGPL
homepage          : https://www.zotero.org/
package_uuid      : af190270-3505-4a2a-8d76-13ec9289f9d7
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://www.zotero.org/support/changelog
min_os_version    : 6.1
max_os_version    : 
icon_sha256sum    : 499ad46227d2de56044d89085ff174a347b8ccca7b2e59823cdca9eaca6090f7
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-03-27T14:23:27.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature         : fSoAJFTtrkHOjMs1ooNi5gDUCQ3PMv08ejaVEc4yaozx7VJD4WLhR3zn9Ejgdu53TbQ0cwL+0UMyIN86LaW62nWIpksC8YSmy1yfAtE6a656URvPzr/gyO5DeddxEUkw+XAG1LtF0ZK37b49TsLmiGCDAGntDxIJ0bm7meUP1TIUwypgLVttVH48Aghz/AyJr9mvNVmoN2E1B5ifAgzMPjtVxg/oI1hw6CVnyJlYEsNhtzDFTHxjLN0Js84QSZjvID74/8RNqkwxaVEr5mWPly4uH8Ry9QN3wRXA3vvjtI35xoTG4hDoVKViwCrr4r9L0AiFNQttDiehS99fVKw7Rg==

 # -*- coding: utf-8 -*-
from setuphelpers import *

'''{
   "key":"Zotero 7.0.1 (x64 en-US)",
   "name":"Zotero",
   "version":"7.0.1",
   "install_date":"",
   "install_location":"C:\\Program Files\\Zotero",
   "uninstall_string":"C:\\Program Files\\Zotero\\uninstall\\helper.exe",
   "publisher":"Corporation for Digital Scholarship",
   "system_component":0,
   "win64":true
  }'''

def install():
    # Initializing variables
    bin_name = glob.glob('Zotero-*_x64_setup.exe')[0]
    version = bin_name.split('_')[0].rsplit('-')[-1]

    # Constructing the registry key
    reg_key = f"Zotero {version} (x64 en-US)"

    # Installing the package

    install_exe_if_needed(
        bin_name,
        silentflags='/s /allusers',
        key= reg_key,
        min_version=control.get_software_version()
    )

    # Disable Zotero auto update
    user_config = makepath(user_appdata, "Zotero", "Zotero", "Profiles", "*", "user.js")
    profiles_path = makepath(user_appdata, "Zotero", "Zotero", "Profiles", "*")

    for profile in glob.glob(profiles_path):
        user_js = os.path.join(profile, "user.js")

        if os.path.exists(user_js):
            print(f"SKIP (existe déjà): {user_js}")
            continue

        # Create user.js with disable update
        content = 'user_pref("app.update.auto", false);\n'

        with open(user_js, "w", encoding="utf-8") as f:
            f.write(content)

        print(f"CREATED: {user_js}")

# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import glob




def update_package():
    # Declaring local variables
    package_updated = False
    
    proxies = get_proxies_from_wapt_console()
    if not proxies:
        proxies = get_proxies()

  
    url_base = "https://www.zotero.org/download/client/dl?channel=release&platform=win-x64"
    data = requests.head(url_base,allow_redirects=True, proxies=proxies).url
    download_url = data
    latest_bin = download_url.split('/')[-1]
    version = download_url.split('/')[-2]


    # Downloading latest binaries
    print("Download URL is: %s" % download_url)
    if not isfile(latest_bin):
        print("Downloading: %s" % latest_bin)
        wget(download_url, latest_bin, proxies=proxies)
        package_updated = True
    else:
        print("Binary is present: %s" % latest_bin)


    # Deleting outdated binaries
    for f in glob.glob('*.exe'):
        if f != latest_bin:
            remove_file(f)

         
    
    # Mettre à jour le package
    control.set_software_version(version)
    control.save_control_to_wapt()    
        

01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
d56e77e2b8a60c36ae66bab56af154ec8027de2cc86579f4085e8cf2f6b728d8 : WAPT/control
499ad46227d2de56044d89085ff174a347b8ccca7b2e59823cdca9eaca6090f7 : WAPT/icon.png
43632093fc0c59f30d94e312b8b8af2f68d4d529458b0be7bbe1fe629f1edfaa : Zotero-8.0.4_x64_setup.exe
c64b4d7902b8ff7d2ac5ec8527588a4a2a70c0f2e5f6f5ba920cf5ba6ec18ccf : luti.json
d90752892f9f424931e0682cbd6d27fd4776d2819cc866c4cb2fcec87de86801 : setup.py
4f0d7577b26a2c56454de052ddef9fbdcb8b076ff2bd98a6299aa936c67702ea : update_package.py