tis-dotnet-memory-profiler icon

.NET Memory Profiler

Silent install package for .NET Memory Profiler

5.7.28-1

  • package: tis-dotnet-memory-profiler
  • name: .NET Memory Profiler
  • version: 5.7.28-1
  • categories: Utilities
  • maintainer: WAPT Team,Tranquil IT,Amel FRADJ
  • licence: opensource_free,wapt_public
  • target_os: windows
  • architecture: x64
  • signature_date:
  • size: 66.48 Mo

package           : tis-dotnet-memory-profiler
version           : 5.7.28-1
architecture      : x64
section           : base
priority          : optional
name              : .NET Memory Profiler
categories        : Utilities
maintainer        : WAPT Team,Tranquil IT,Amel FRADJ
description       : .NET Memory Profiler is a powerful tool for detecting memory leaks and optimizing memory use in programs written in C#, VB.NET or any other .NET language
depends           : 
conflicts         : 
maturity          : PROD
locale            : 
target_os         : windows
min_wapt_version  : 2.6
sources           : 
installed_size    : 
impacted_process  : 
description_fr    : .NET Memory Profiler est un outil puissant pour détecter les fuites de mémoire et optimiser l'utilisation de la mémoire dans les programmes écrits en C#, VB.NET ou tout autre langage .NET
description_pl    : .NET Memory Profiler to potężne narzędzie do wykrywania wycieków pamięci i optymalizacji jej wykorzystania w programach napisanych w C#, VB.NET lub dowolnym innym języku .NET
description_de    : .NET Memory Profiler ist ein leistungsstarkes Werkzeug, um Speicherlecks aufzuspüren und die Speichernutzung in Programmen zu optimieren, die in C#, VB.NET oder einer anderen .NET-Sprache geschrieben wurden
description_es    : .NET Memory Profiler es una potente herramienta para detectar fugas de memoria y optimizar el uso de la memoria en programas escritos en C#, VB.NET o cualquier otro lenguaje .NET
description_pt    : O .NET Memory Profiler é uma ferramenta poderosa para detetar fugas de memória e otimizar a utilização de memória em programas escritos em C#, VB.NET ou qualquer outra linguagem .NET
description_it    : .NET Memory Profiler è un potente strumento per rilevare le perdite di memoria e ottimizzare l'uso della memoria nei programmi scritti in C#, VB.NET o in qualsiasi altro linguaggio .NET
description_nl    : .NET Memory Profiler is een krachtig hulpmiddel om geheugenlekken op te sporen en het geheugengebruik te optimaliseren in programma's die zijn geschreven in C#, VB.NET of een andere .NET-taal
description_ru    : .NET Memory Profiler - это мощный инструмент для обнаружения утечек памяти и оптимизации ее использования в программах, написанных на C#, VB.NET или любом другом языке .NET
audit_schedule    : 
editor            : 
keywords          : 
licence           : opensource_free,wapt_public
homepage          : 
package_uuid      : 75d6ad8a-35a9-4de8-9ae6-4917879c9b2f
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : e059608e914b1922e28e19566d5c8d1163075fcaeb7446d8d310e328a183843d
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2024-09-18T16:01:11.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         : wp7zWC8lDwoJBMk3WWHyAnvFxuB4DPS+5aoA5kaHxPjbpefpSriDwRx5qKcLc7VvCGMWam80qz9GGGf5FD0W62yTeata+8aReaZKt/LBVX2FRK1qwIOYmTekDBSo7XrY9OHBaxlwmdTeHEqH3Wwu6PnXmHlccMBthx3NmCuiPLGOY/Ygr/s/rZg5XhCV9GliJhvP+CQ4UYaytRLbaiUv4MavOdrajZutngO3Y+Vl3rc/BznxONaR6UMGLP+J9w70AyQKeHahWbitGpNsfyPtH9YH1fXxRyKy1nQj7M4MknpTuRQQCrCzkc6ZP3/rSzlDHaNuNOH5/JTnZsFUlC6C/w==

# -*- 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():
    # Declaring local variables
    bin_name = glob.glob('MemProfilerInstaller*.msi')[0]
    # Installing the software
    
    install_msi_if_needed(bin_name)




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




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

    dict_arch = {
        "x64" :"-64bit.msi",
        "x86"  :"-32bit.msi"
    }
  
    url_base = "https://memprofiler.com/msi-download"
    response = requests.get(url_base,allow_redirects=True, proxies=proxies)
    # Extract the correct div using bs_find_all
    divs = bs_find_all(response.text, "blockquote", 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') and dict_arch[control.architecture] in link['href']:
                href = link['href']
                msi_file = href
                download_url = msi_file
                latest_bin = msi_file.split('/')[-1]
                # Utilisation des expressions régulières pour extraire la version
                match = re.search(r'MemProfilerInstaller(\d+_\d+_\d+)-', latest_bin)
                if match:
                    version = match.group(1).replace('_', '.')
                    print(f"Version trouvée : {version}")
                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)
    # Check signature bin
    expected_issuer = 'SciTech Software AB'
    sign_name = waptlicences.check_msi_signature(latest_bin)[0]
    if sign_name != expected_issuer:
        error('Bad issuer %s != %s ' % (sign_name,expected_issuer))

    # 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()    
        

aaa968ef48a426ca0e5d902cf29e07e14283d8ae11aa9448f89ea992b1487118 : MemProfilerInstaller5_7_28-64bit.msi
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
58ba01ff498812579aac928434c9507e63de45bbac0899d86c117e9785568e8d : WAPT/control
e059608e914b1922e28e19566d5c8d1163075fcaeb7446d8d310e328a183843d : WAPT/icon.png
fa60e0815be9c043ab006f5203cc359c8ee425f5bd1675b2ad9e0a9d10f0a2e5 : luti.json
a3738f064ae9cb61436ae78affebd7a59e9f92c0479f5c771bf699eb9e977fe7 : setup.py
99ab5d9e99654d455460b4c19daf73ac8b89674758b60e56da5135acf1e3c46e : update_package.py