tis-harmony-sase icon

Harmony SASE

Silent install package for Harmony SASE

12.8.0.14443-3
System and network
System and network

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-harmony-sase
  • name: Harmony SASE
  • version: 12.8.0.14443-3
  • categories: System and network
  • maintainer: WAPT Team,Tranquil IT,Amel FRADJ
  • target_os: windows
  • impacted_process: Perimeter81,Perimeter81.HelperService,Perimeter81.Service
  • architecture: x64
  • signature_date:
  • size: 80.71 Mo
  • installed_size: 217.20 Mo
  • homepage : https://www.perimeter81.com/
  • depends:

package           : tis-harmony-sase
version           : 12.8.0.14443-3
architecture      : x64
section           : base
priority          : optional
name              : Harmony SASE
categories        : System and network
maintainer        : WAPT Team,Tranquil IT,Amel FRADJ
description       : Harmony SASE is a cloud-based Network as a Service designed to simplify secure network, cloud and application access for the modern and distributed workforce
depends           : tis-dotnet8
conflicts         : 
maturity          : PREPROD
locale            : 
target_os         : windows
min_wapt_version  : 
sources           : 
installed_size    : 217198592
impacted_process  : Perimeter81,Perimeter81.HelperService,Perimeter81.Service
description_fr    : Harmony SASE est un réseau en tant que service basé sur le cloud, conçu pour simplifier l'accès sécurisé au réseau, au cloud et aux applications pour le personnel moderne et distribué
description_pl    : Harmony SASE to oparta na chmurze sieć jako usługa zaprojektowana w celu uproszczenia bezpiecznego dostępu do sieci, chmury i aplikacji dla nowoczesnych i rozproszonych pracowników
description_de    : Harmony SASE ist ein Cloud-basiertes Network as a Service, das den sicheren Netzwerk-, Cloud- und Anwendungszugang für moderne und verteilte Mitarbeiter vereinfacht
description_es    : Harmony SASE es una red como servicio basada en la nube diseñada para simplificar el acceso seguro a la red, la nube y las aplicaciones para los trabajadores modernos y distribuidos
description_pt    : O Harmony SASE é uma rede como serviço baseada na nuvem, concebida para simplificar o acesso seguro à rede, à nuvem e às aplicações para a força de trabalho moderna e distribuída
description_it    : Harmony SASE è un Network as a Service basato sul cloud, progettato per semplificare l'accesso sicuro alla rete, al cloud e alle applicazioni per la forza lavoro moderna e distribuita
description_nl    : Harmony SASE is een cloudgebaseerd Network as a Service, ontworpen om veilige netwerk-, cloud- en applicatietoegang voor moderne en gedistribueerde werknemers te vereenvoudigen
description_ru    : Harmony SASE - это облачная сеть как услуга, предназначенная для упрощения безопасного доступа к сети, облаку и приложениям для современных и распределенных сотрудников
audit_schedule    : 
editor            : 
keywords          : 
licence           : 
homepage          : https://www.perimeter81.com/
package_uuid      : 036c3546-9f7b-4e79-ae7c-0392138116d2
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 10.0
max_os_version    : 
icon_sha256sum    : 9dc642c48b4d859ce29bf3dd9b0a67d1fb79c2751cb9bec6ef0b2f25122e2012
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-05-06T10:34:43.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         : Gz7T0iq8c/bYqbhzhj38iyZWx4wnUO3Stjnv1qICqDb1Q0Mb/gYV+MEcPo+zOHE9PUB3iWn07iNaxa/4cYO2HFhJO+d8yAe1WDi8//2Lg6RYFzPr09xqCP+x2zmrCQKafaaKE8nNfEDbgXhbLKSvTTjOzufZkUBOIII0Dovmm/bk21OmirTTdO/YoBcF2WtX1idybpTvoyXNiG4GQU/cZExn5TMknvJLZ2i9iD3XJ9Ue/RMJ4oCHDsk/B4bElyGg67n/yY3iJBoP9B450wtADgqrIRBcr86//bOmROTKknF6aFx35QcFDdLxI7xa6JIjpBpS9P1ZwOzTctLQPihFnw==

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

r"""
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


def install():
    # Uninstalling older versions of the software
    for to_uninstall in installed_softwares(name="Harmony SASE"):
        print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
        killalltasks(ensure_list(control.impacted_process))
        run(uninstall_cmd(to_uninstall["key"]))
        wait_uninstallkey_absent(to_uninstall["key"])
        if isdir(to_uninstall["install_location"]):
            remove_tree(to_uninstall["install_location"])

    bin_name = glob.glob('Harmony_SASE_*.msi')[0]
    
    install_msi_if_needed(bin_name)
    

    




# -*- 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://support.perimeter81.com/docs/downloading-the-agent"
    response = requests.get(url_base,allow_redirects=True, proxies=proxies)
    # Extract the correct div using bs_find_all
    divs = bs_find_all(response.text, "tr", proxies=proxies)
    msi_file = None
    for div in divs:
        if msi_file:
            break
        links = div.find_all('a', href=True)
        for link in links:
            if link['href'].endswith('.msi'):
                href = link['href']
                msi_file = href
                download_url = msi_file
                latest_bin = msi_file.split('/')[-1]
                version = latest_bin.split('_')[-1].replace('.msi','')
                break


    # 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('*.msi'):
        if f != latest_bin:
            remove_file(f)

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

9020856f196e609004dafe3e2bf9673f09da1a042a063fc5a9cd0cc9b15950dd : Harmony_SASE_12.8.0.14443.msi
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
c3ef556e1a2753826d825fdd4dee2acf501a69e3f5cc0d6929c0150ed4793e18 : WAPT/control
9dc642c48b4d859ce29bf3dd9b0a67d1fb79c2751cb9bec6ef0b2f25122e2012 : WAPT/icon.png
6d8c2e62f8f5d02617980741838ae8e9b9ac8b788f3a525f5851727ffb2df251 : luti.json
5abfc9bfa331d28b9d63c43dcd37f8b0b36f8d92cbd99a48d1683d20de1f9ed4 : setup.py
b416f0a9b752508bdba6952b1238bef39fa22d8cc8e5d5f812f7daeba469a579 : update_package.py