tis-qgis-ltr icon

QGIS Long Term Release

Silent install package for QGIS Long Term Release

3.40.6-22

  • package: tis-qgis-ltr
  • name: QGIS Long Term Release
  • version: 3.40.6-22
  • categories: Utilities
  • maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ,Pierre COSSON
  • editor: QGIS Development Team
  • licence: GNU GPLv2
  • locale: all
  • target_os: windows
  • impacted_process: qgis-bin,qgis-bin-g7,qgis-ltr-bin,qgis-ltr-bin-g7,qgiscrashhandler
  • architecture: x64
  • signature_date:
  • size: 1.33 Go
  • installed_size: 2.05 Go
  • homepage : https://www.qgis.org/

package           : tis-qgis-ltr
version           : 3.40.6-22
architecture      : x64
section           : base
priority          : optional
name              : QGIS Long Term Release
categories        : Utilities
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ,Pierre COSSON
description       : QGIS (Quantum GIS) is a free and open-source cross-platform desktop geographic information system (GIS) application that supports viewing, editing, and analysis of geospatial data
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 2.1
sources           : https://www.qgis.org/en/site/forusers/download.html
installed_size    : 2045370368
impacted_process  : qgis-bin,qgis-bin-g7,qgis-ltr-bin,qgis-ltr-bin-g7,qgiscrashhandler
description_fr    : QGIS (Quantum GIS) est un logiciel SIG (système d'information géographique) qui prend en charge la visualisation, l'édition et l'analyse de données géospatiales
description_pl    : QGIS (Quantum GIS) jest darmową i otwartą, wieloplatformową aplikacją systemu informacji geograficznej (GIS), która wspiera przeglądanie, edycję i analizę danych geoprzestrzennych
description_de    : QGIS (Quantum GIS) ist eine freie und quelloffene, plattformübergreifende Desktop-Anwendung für geografische Informationssysteme (GIS), die die Anzeige, Bearbeitung und Analyse von Geodaten unterstützt
description_es    : QGIS (Quantum GIS) es una aplicación de sistema de información geográfica (SIG) de escritorio, gratuita y de código abierto, que permite visualizar, editar y analizar datos geoespaciales
description_pt    : QGIS (Quantum GIS) é uma aplicação gratuita e de código aberto de sistema de informação geográfica (GIS) que suporta a visualização, edição e análise de dados geoespaciais
description_it    : QGIS (Quantum GIS) è un'applicazione desktop di sistema informativo geografico (GIS) multipiattaforma, gratuita e open-source, che supporta la visualizzazione, la modifica e l'analisi di dati geospaziali
description_nl    : QGIS (Quantum GIS) is een vrije en open-source desktop toepassing voor een geografisch informatiesysteem (GIS) dat het bekijken, bewerken en analyseren van geospatiale gegevens ondersteunt
description_ru    : QGIS (Quantum GIS) - это бесплатное кроссплатформенное приложение с открытым исходным кодом для настольных географических информационных систем (ГИС), которое поддерживает просмотр, редактирование и анализ геопространственных данных
audit_schedule    : 
editor            : QGIS Development Team
keywords          : qgis,gis,geographic,information,system,application,geo,spatial,geospatial,data
licence           : GNU GPLv2
homepage          : https://www.qgis.org/
package_uuid      : afc2bf8b-286c-4b4a-bcfb-ee8feeec02b3
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://www.qgis.org/en/site/forusers/visualchangelogs.html
min_os_version    : 6.2
max_os_version    : 
icon_sha256sum    : 66b55efb00a97350a0e1c853a218f5b52e618117b19eb9818a34d19482dff5ff
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-04-26T16:10:42.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         : l7/BNvj8KYVm5M4PpAPaH6ExvVoPhxRjLZ/QAgBdU75QqrmbaYuNZv6Pu0QgrgS332jXNo5cAZ8U6bb1+L6PYZcVgcDrp3sF18CmJOtDdySM27COrE5Y52+3QYVLX3E5xIvZp+LINZebUWgcNFEvjryjLQz/xwKfHAP5CqWn44qPcd4IFlumPF72NrnLHawIQY4V/O8qfeLIS0Sa+uf6eOvrJJfGq0GZKhrAfffMb7mKrwFjRN6cLydaNmaT69k1gOgdOSxEQ6gNO06iElEXOJxHBv56CtCkd3NA2yMINCw1l0gT/RaFalEuN9v6qf7GnAUWoAzq9L928DQq/Zbx0w==

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

# Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
bin_contains = "QGIS-OSGeo4W-"


def install():
    # Declaring local variables
    package_version = control.get_software_version()
    bin_name = glob.glob("*%s*.msi" % bin_contains)[0]
    short_package_version = ".".join(package_version.split(".")[:2])
    app_uninstallkey = "QGIS %s" % short_package_version
    app_name = "QGIS"
    processes_to_kill = control.impacted_process.split(",")

    # Uninstalling all other versions of the software before installation
    for uninstall in installed_softwares(app_name):
        if uninstall["version"] != package_version:
            print("Removing: %s" % uninstall["name"])
            killalltasks(processes_to_kill)
            try:
                run(uninstall_cmd(uninstall["key"]), timeout=1200)
            except:
                print("Unable to uninstall %s" % uninstall["name"])
            folder_path = makepath("\\".join(uninstall["uninstall_string"].split("\\")[:3]))
            wait_uninstallkey_absent(uninstall["key"])
            time.sleep(60)
            if isdir(folder_path):
                remove_tree(folder_path)

    # Installing the software
    print("Installing: %s" % bin_name)
    install_msi_if_needed(bin_name, timeout=1200)

    # Removing desktop shortcuts
    shortcuts_folder = makepath(systemdrive, "Users", "Public", "Desktop", app_uninstallkey)
    if isdir(shortcuts_folder):
        remove_tree(shortcuts_folder)

    uninstallkey.clear()


def uninstall():
    # Specific app values
    package_version = control.version.split("-")[0]
    short_package_version = ".".join(package_version.split(".")[:2])
    app_uninstallkey = "QGIS %s" % short_package_version

    for soft in installed_softwares("QGIS %s" % control.get_software_version()):
        run(uninstall_cmd(soft['key']),timeout=1800)


    # Removing the remaining folder of the app in %programfiles%
    folder_name = app_uninstallkey
    appfolder_path = makepath(programfiles, folder_name)
    time.sleep(60)
    if isdir(appfolder_path):
        remove_tree(appfolder_path)


def session_setup():
    print("Disabling: auto update check")

    # AppData\Roaming\QGIS\QGIS3\profiles\default\QGIS\QGIS3.ini
    r"""[qgis]
    checkVersion=true
    [core]
    NewsFeed\httpsfeedqgisorg\disabled=false"""

    user_conf_folder = makepath(user_appdata, "QGIS", "QGIS3", "profiles", "default", "QGIS")
    user_conf_file = makepath(user_conf_folder, "QGIS3.ini")

    if not isdir(user_conf_folder):
        mkdirs(user_conf_folder)

    inifile_writestring(user_conf_file, "qgis", r"checkVersion", "false")
    inifile_writestring(user_conf_file, "core", r"NewsFeed\httpsfeedqgisorg\disabled", "true")

# -*- coding: utf-8 -*-
from setuphelpers import *
import bs4 as BeautifulSoup


def update_package():
    # Declaring local variables
    result = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    download_url = "https://www.qgis.org/" + [u.attrs['href'] for u in bs_find_all("https://www.qgis.org/en/site/forusers/download.html",'a','href',proxies=proxies) if 'Long Term Version for Windows' in u.text][0]
    latest_bin = download_url.split("/")[-1]    


    # Downloading latest binaries
    if not isfile(latest_bin):
        result = True
        print("Downloading: %s" % latest_bin)
        wget(download_url, latest_bin, proxies=proxies, connect_timeout=30)

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

    # Changing version of the package
    control.set_software_version(get_version_from_binary(latest_bin))
    
    # control.set_software_version(version)
    control.save_control_to_wapt()

    # Validating update-package-sources
    return result

32e4d163ae997f2209abd2ec01705f7de7a4811132719b9c91f62e85f1c970d5 : QGIS-OSGeo4W-3.40.6-1.msi
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
11cfdb4dcbbf70f4e1c76d4d75861f6a8df4a8d88ea3211d28b39403212223a9 : WAPT/control
66b55efb00a97350a0e1c853a218f5b52e618117b19eb9818a34d19482dff5ff : WAPT/icon.png
0a0c54d9936cba8839120cd026f9ba843b7b75c5d23b94942f134a99fac4e32b : luti.json
b2864a938bff83296290f0d329edc135f30b9fc24d3a02527abf0dab9555ccd0 : setup.py
8f7ee1e6a9bda6cd4f37a26d328a664e6249dbf5ad7a61daa200b38d4ddf346c : update_package.py