tis-azure-virtual-desktop icon

Remote Desktop

Silent install package for Remote Desktop

1.2.6424.0-2

package           : tis-azure-virtual-desktop
version           : 1.2.6424.0-2
architecture      : x64
section           : base
priority          : optional
name              : Remote Desktop
categories        : 
maintainer        : Amel FRADJ
description       : Utilisez le client des services Bureau à distance (MSRDC) pour accéder à distance aux applications et aux bureaux Windows à partir d'un autre appareil Windows.
depends           : 
conflicts         : 
maturity          : PROD
locale            : 
target_os         : windows
min_wapt_version  : 
sources           : 
installed_size    : 
impacted_process  : msrdcw
description_fr    : Azure Virtual Desktop, ou AVD, est une plateforme basée sur le cloud qui permet au personnel autorisé d'accéder à un bureau VA standardisé
description_pl    : Azure Virtual Desktop (AVD) to oparta na chmurze platforma, która umożliwia autoryzowanemu personelowi dostęp do ustandaryzowanego pulpitu VA
description_de    : Azure Virtual Desktop (AVD) ist eine Cloud-basierte Plattform, die autorisierten Mitarbeitern den Zugriff auf einen standardisierten VA-Desktop ermöglicht
description_es    : Azure Virtual Desktop, o AVD, es una plataforma basada en la nube que permite al personal autorizado acceder a un escritorio VA estandarizado
description_pt    : O Ambiente de Trabalho Virtual do Azure, ou AVD, é uma plataforma baseada na nuvem que permite ao pessoal autorizado aceder a um ambiente de trabalho VA normalizado
description_it    : Azure Virtual Desktop, o AVD, è una piattaforma basata sul cloud che consente al personale autorizzato di accedere a un desktop VA standardizzato
description_nl    : Azure Virtual Desktop, of AVD, is een cloud-gebaseerd platform dat geautoriseerd personeel toegang geeft tot een gestandaardiseerde VA desktop
description_ru    : Azure Virtual Desktop, или AVD, - это облачная платформа, позволяющая авторизованному персоналу получить доступ к стандартизированному рабочему столу VA
audit_schedule    : 
editor            : 
keywords          : 
licence           : MICROSOFT SOFTWARE LICENSE TERMS
homepage          : https://learn.microsoft.com/en-us/azure/virtual-desktop/whats-new-client-windows?pivots=remote-desktop-msi
package_uuid      : 4d604bb3-1cd3-417a-811c-0cb3c71222c3
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 10.0
max_os_version    : 
icon_sha256sum    : 0cf0e523c330c77b83905f570d8251cb2d5de824d092dec7064d579918d98441
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-07-28T19:01:30.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         : YCKDeYQSjbsgvoHWNWOo9gGVv5250NLk3U3aJAnCObGLdXpbTq0xc2hZjAtosFRYgBxZudQ77y373WSalqXk9K6sqtM3YqN3uGuvZ1sJDpvd6OAccj3MWaPB1yjvXC04cLCyaA1z11mFMWTKzK50HpOYePq3dAnlaIuuC9woZM+V3MuKDobEBInB6PoYlc+aEho+xagZXgSO8mAolAjg7O1npVdoWc/xJJ8uqICuh7iBfErM1c4EFBMYJiGF4UTYQ9jtycIaoy7D8TavxRfqH6/6p5LxDISnFN65NaEaityt6A5ewtqCzgKd9+zCrNGo2tjaNAToZcqqLP26+gK4MQ==

# -*- 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

bin_test = makepath(programfiles(),'Remote Desktop','msrdc.exe')

def install():
    # Declaring local variables
    bin_name = glob.glob('RemoteDesktop_*_x64.msi')[0]

    # Installing the software
    if Version(get_version_rd()) < Version(control.get_software_version()) or force:
        run(r'"%s" /norestart /q /i "%s"' % (makepath(system32(),'msiexec.exe'), bin_name), accept_returncodes=[0, 3010], timeout=300)
    
    if Version(get_version_rd()) < Version(control.get_software_version()):
        error('"%s" missmatch version : %s != %s' % (bin_test,get_version_rd(),control.get_software_version()))

    #append uninstallkey
    for soft in installed_softwares():
        if soft['install_location'].lower().strip('\\') == makepath(programfiles(),'Remote Desktop').lower():
            uninstallkey.append(soft['key'])

def get_version_rd():
    return get_file_properties(bin_test)['ProductVersion'] if isfile(bin_test) else '0'

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


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

    #url_base = "https://learn.microsoft.com/en-us/azure/virtual-desktop/whats-new-client-windows?pivots=remote-desktop-msi"
    url_base = "https://learn.microsoft.com/en-us/previous-versions/remote-desktop-client/whats-new-windows?tabs=windows-msrdc-msi"

    table = bs_find_all(url_base, "table", proxies=proxies)
    rows = bs_find(table, "tbody").find_all('tr')

    for row in rows:
        tds = row.find_all("td")
        release_type = tds[0].text
        # If is the Public Windows 64-bit release
        if release_type == "Public":
            microsoft_url = next((a["href"] for a in tds[2].find_all("a") if "Windows 64-bit" in a.text), None)

    download_url = requests.head(microsoft_url, proxies=proxies).headers['Location']
    latest_bin = download_url.rsplit('/', 1)[-1]
    latest_bin_extension = latest_bin.rsplit('.', 1)[-1]
    version = latest_bin.split('_')[1]

    # Downloading latest binaries
    print(f"Latest {app_name} version is: {version}")
    print(f"Download URL is: {download_url}")
    if not isfile(latest_bin):
        print(f"Downloading: {latest_bin}")
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print(f"Binary is present: {latest_bin}")

    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        print(f"Software version updated (from: {control.get_software_version()} to: {Version(version)})")
        package_updated = True
    else:
        print(f"Software version up-to-date ({Version(version)})")

    for f in glob.glob(f'*.{latest_bin_extension}'):
        if f != latest_bin:
            remove_file(f)

    control.set_software_version(version)
    control.save_control_to_wapt()

    return package_updated

5694c4869cbf230f3e7df65113a0f8e5b7916fcbce1a1daf4cea49aef8cd3723 : RemoteDesktop_1.2.6424.0_x64.msi
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
469062c7859988212c70391c394937e0d16bcc4b0475e2efd77e0b6cebca88ad : WAPT/control
0cf0e523c330c77b83905f570d8251cb2d5de824d092dec7064d579918d98441 : WAPT/icon.png
98a824fe21b4d802f764a3071eb2e78fc88ce1bc87f792f607378bbb201acb11 : luti.json
9ee2e839880c68c2b07ac86c41d657601c6aaa849e6a1a0b4f622bb22b70e587 : setup.py
3d4ae29da7af59ea17900cc5041fc5af6a8d3dc0b8cef46ca96242ee27a9f674 : update_package.py