tis-microsoft-teams icon

Microsoft Teams classic

Paquet d’installation silencieuse pour Microsoft Teams classic

1.8.0.17054-71

  • package: tis-microsoft-teams
  • name: Microsoft Teams classic
  • version: 1.8.0.17054-71
  • categories: Media,Messaging,Office
  • maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ,Gaëtan SEGAT
  • editor: Microsoft
  • licence: proprietary_free,wapt_public
  • locale: all
  • target_os: windows
  • impacted_process: Teams
  • architecture: x86
  • signature_date:
  • size: 156.09 Mo
  • installed_size: 478.19 Mo
  • homepage : https://www.microsoft.com/microsoft-365/microsoft-teams/group-chat-software
  • conflicts :

package           : tis-microsoft-teams
version           : 1.8.0.17054-71
architecture      : x86
section           : base
priority          : optional
name              : Microsoft Teams classic
categories        : Media,Messaging,Office
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ,Gaëtan SEGAT
description       : System-Wide installation (prevent Per-user installation) - Microsoft Teams, also referred to as simply Teams, is a unified communication and collaboration platform that combines persistent workplace chat, video meetings, file storage (including collaboration on files)
depends           : 
conflicts         : tis-microsoft-teams-appdata
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 2.3
sources           : https://www.microsoft.com/microsoft-teams/download-app
installed_size    : 478189403
impacted_process  : Teams
description_fr    : Installation à l'échelle du système (empêche l'installation par utilisateur) - Microsoft Teams, également appelé simplement Teams, est une plateforme de communication et de collaboration unifiée qui combine le chat permanent sur le lieu de travail, les réunions vidéo, le stockage de fichiers (y compris la collaboration sur les fichiers)
description_pl    : Instalacja w całym systemie (zapobieganie instalacji na użytkownika) - Microsoft Teams, zwana również po prostu Teams, to ujednolicona platforma komunikacji i współpracy, która łączy trwały czat w miejscu pracy, spotkania wideo, przechowywanie plików (w tym współpracę nad plikami)
description_de    : Systemweite Installation (verhindert die Installation pro Benutzer) - Microsoft Teams, auch einfach Teams genannt, ist eine einheitliche Kommunikations- und Kollaborationsplattform, die einen dauerhaften Arbeitsplatz-Chat, Videomeetings, Dateispeicherung (einschließlich der Zusammenarbeit an Dateien) kombiniert
description_es    : Instalación en todo el sistema (evita la instalación por usuario) - Microsoft Teams, también conocida simplemente como Teams, es una plataforma unificada de comunicación y colaboración que combina chat persistente en el lugar de trabajo, reuniones de vídeo, almacenamiento de archivos (incluida la colaboración en archivos)
description_pt    : Instalação em todo o sistema (evita a instalação por utilizador) - O Microsoft Teams, também designado simplesmente por Teams, é uma plataforma de colaboração e comunicação unificada que combina chat persistente no local de trabalho, reuniões de vídeo, armazenamento de ficheiros (incluindo colaboração em ficheiros)
description_it    : Installazione a livello di sistema (impedisce l'installazione per utente) - Microsoft Teams, chiamato anche semplicemente Teams, è una piattaforma di comunicazione e collaborazione unificata che combina chat persistenti sul posto di lavoro, riunioni video, archiviazione di file (compresa la collaborazione sui file)
description_nl    : Systeembrede installatie (voorkomt installatie per gebruiker) - Microsoft Teams, ook wel gewoon Teams genoemd, is een platform voor eenduidige communicatie en samenwerking dat een combinatie is van permanente chat op de werkplek, videovergaderingen, bestandsopslag (inclusief samenwerken aan bestanden)
description_ru    : Общесистемная установка (предотвращает установку на одного пользователя) - Microsoft Teams, также называемая просто Teams, представляет собой платформу для унифицированных коммуникаций и совместной работы, которая объединяет постоянный чат на рабочем месте, видеовстречи, хранение файлов (включая совместную работу над файлами)
audit_schedule    : 
editor            : Microsoft
keywords          : microsoft,teams,team,communication,collaboration,chat,video,meetings
licence           : proprietary_free,wapt_public
homepage          : https://www.microsoft.com/microsoft-365/microsoft-teams/group-chat-software
package_uuid      : 54e13200-0c4c-46e4-962a-8cf8272e7d9b
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://support.office.com/article/what-s-new-in-microsoft-teams-d7092a6d-c896-424c-b362-a472d5f105de
min_os_version    : 6.3
max_os_version    : 
icon_sha256sum    : c6e1224de3bf5ed2d252f9cee788480febfe2993b02cf91cf3258e7306274674
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-07-02T19:03:09.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         : F1fHv4yrwD2dt04Vfpe+mSjilJam0Rg1OLcziTg96gheN6/K/3HBIAIKGJPAhpjW8IquVYtu9D/tQ6ygDn5YgKWW7R6RFn/I/jPMiXAf1KjL3N5VOt05zktze1jtUVZqpuVJAIdP98jBLTSqk/2+LrXqpzsp/pNwUbSqovJnTpsbuXcw9DIiGIJKg5RpxTIEZ2R1yDzlqF11HTFHJDDQQgRrF4zVnS/5vHrgcJMXJ+SUcSSrqUEJij0fWeIxRwQgoT6fd2ZwNwykOU7KBy1qU+CO5YQPCFQtIsigcS4Ec4QQ/mtEnc1CJHOHo5mAg/rFWvUiOs3zGtk7Td4f8G/5dQ==

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

# {731F6BAA-A986-45A4-8936-7C3AAAAA760B}      Teams Machine-Wide Installer        1.3.0.12058         MsiExec.exe /I{731F6BAA-A986-45A4-8936-7C3AAAAA760B}


# Installation procedure: https://docs.microsoft.com/fr-fr/microsoftteams/teams-for-vdi#install-or-update-the-teams-desktop-app-on-vdi

# Defining variables
silent_args = 'OPTIONS="noAutoStart=true" ALLUSER=1'  # OPTIONS="noAutoStart=true" ALLUSER=1 ALLUSERS=1
# silent_args = 'ALLUSER=1' #OPTIONS="noAutoStart=true" ALLUSER=1 ALLUSERS=1
app_name = "Microsoft Teams"
app_name_short = "Teams"
app_dir = makepath(programfiles32, "Microsoft", "Teams")
app_path = makepath(app_dir, "current", "Teams.exe")
# sys_json_setup = makepath(app_dir,'setup.json')
# json_setup_content =  json.loads('{"noAutoStart":true,"--exeName":"Teams.exe"}')


def install():
    # Initializing variables
    package_version = control.version.split("-")[0]
    bin_name = glob.glob("Teams_windows*.msi")[0]

    # Uninstalling older versions if found
    for uninstall in installed_softwares(name=app_name_short):
        if Version(uninstall["version"]) < Version(package_version):
            print("Older %s version found (%s)" % (app_name, uninstall["version"]))
            print("Removing: %s (%s)" % (uninstall["name"], uninstall["version"]))
            run_notfatal(uninstall_cmd(uninstall["key"]))
            time.sleep(15)

    # Adding fake WVD/VDI RegKey
    # Un/comment if needed
    registry_set(HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Teams", "IsWVDEnvironment", 1, type=REG_DWORD)
    registry_set(HKEY_LOCAL_MACHINE, r"SOFTWARE\VMware, Inc.\VMware VDM\Agent", "", "")
    registry_set(HKEY_LOCAL_MACHINE, r"SOFTWARE\Citrix\PortICA", "", "")

    # Installing the package system wide
    print("Installing: %s" % bin_name)
    install_msi_if_needed(bin_name, properties=silent_args, min_version=package_version, accept_returncodes=[0, 3010, 1605, 1614, 1641], timeout=900)

    # Disabling AutoStart
    if iswin64():
        registry_delete(HKEY_LOCAL_MACHINE, r"SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run", "Teams")
    registry_delete(HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "Teams")

    # Removing shortcuts
    remove_desktop_shortcut(app_name)

    # Adding Firewall Rules for Teams
    run_powershell(f'Remove-NetFirewallRule -DisplayName "{app_name}" -ErrorAction SilentlyContinue', accept_returncodes=[0, 1, 3010])
    run_powershell(
        f'New-NetFirewallRule -DisplayName "{app_name}" -Group "{app_name}" -Direction Inbound -Action Allow -Program "{app_path}" -Enabled True '
    )

    # Cleaning fake WVD/VDI RegKey properly
    # Un/comment if needed
    if reg_value_exists(HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Teams", "IsWVDEnvironment"):
        registry_delete(HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Teams", "IsWVDEnvironment")
    if reg_key_exists(HKEY_LOCAL_MACHINE, r"SOFTWARE\VMware, Inc."):
        registry_deletekey(HKEY_LOCAL_MACHINE, r"SOFTWARE\VMware, Inc.\VMware VDM\Agent", "", force=False)
        registry_deletekey(HKEY_LOCAL_MACHINE, r"SOFTWARE\VMware, Inc.\VMware VDM", "", force=False)
        registry_deletekey(HKEY_LOCAL_MACHINE, r"SOFTWARE\VMware, Inc.", "", force=False)
    if reg_key_exists(HKEY_LOCAL_MACHINE, r"SOFTWARE\Citrix\PortICA"):
        registry_deletekey(HKEY_LOCAL_MACHINE, r"SOFTWARE\Citrix\PortICA", "", force=False)


def uninstall():
    # Uninstalling the software
    for to_uninstall in installed_softwares(name=app_name_short):
        print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
        killalltasks(control.get_impacted_process_list())
        run(uninstall_cmd(to_uninstall["key"]))
        wait_uninstallkey_absent(to_uninstall["key"])

    # Removing Firewall Rules for Teams
    run_powershell(f'Remove-NetFirewallRule -DisplayName "{app_name}" -ErrorAction SilentlyContinue', accept_returncodes=[0, 1, 3010])

    # Removing remaining files
    if isdir(app_dir):
        killalltasks(control.get_impacted_process_list())
        remove_tree(app_dir)


def session_setup():
    # Initializing variables
    user_conf_dir = makepath(application_data, "Microsoft", "Teams")
    json_config = makepath(user_conf_dir, "desktop-config.json")
    json_settings = makepath(user_conf_dir, "settings.json")

    user_app_dir = makepath(user_local_appdata, "Microsoft", "Teams")
    user_app_path = makepath(user_app_dir, "current", "Teams.exe")
    user_app_updater = makepath(user_app_dir, "Update.exe")
    # user_app_version = registry_readstring(HKEY_CURRENT_USER,r'Software\Microsoft\Windows\CurrentVersion\Uninstall\Teams','DisplayVersion')

    user_app_progdata_dir = makepath("C:", "ProgramData", get_current_user(), "Microsoft", "Teams")
    user_app_progdata_path = makepath(user_app_progdata_dir, "current", "Teams.exe")
    user_app_progdata_updater = makepath(user_app_progdata_dir, "Update.exe")

    user_silent_args_uninst = "--uninstall -s"
    processes_to_kill = control.impacted_process.split(",")

    # Uninstalling from user environment (procedure: https://docs.microsoft.com/microsoftteams/msi-deployment)
    if isfile(user_app_path):
        print("Uninstalling Microsoft Teams from user environment")
        killalltasks(processes_to_kill)
        run_notfatal('"%s" %s' % (user_app_updater, user_silent_args_uninst))
    if isdir(user_app_dir):
        remove_tree(user_app_dir)
    if isfile(user_app_progdata_path):
        print("Uninstalling Microsoft Teams from user ProgramData environment")
        killalltasks(processes_to_kill)
        run_notfatal('"%s" %s' % (user_app_progdata_updater, user_silent_args_uninst))
    if isdir(user_app_progdata_dir):
        killalltasks(processes_to_kill)
        remove_tree(user_app_progdata_dir)

    if reg_value_exists(HKEY_CURRENT_USER, r"Software\Microsoft\Office\Teams", "PreventInstallationFromMsi"):
        registry_delete(HKEY_CURRENT_USER, r"Software\Microsoft\Office\Teams", "PreventInstallationFromMsi")

    # No longer Prefill UPN
    registry_set(HKEY_CURRENT_USER, r"Software\Microsoft\Office\Teams", "SkipUpnPrefill", 1, type=REG_DWORD)

    # Define user settings (procedure: https://techcommunity.microsoft.com/t5/microsoft-teams/how-to-disable-check-for-updates-in-microsoft-teams/m-p/54644)
    print("Setting up user settings")
    if not isdir(user_conf_dir):
        mkdirs(user_conf_dir)

    # desktop-config.json
    if isfile(json_config):
        json_config_content = load_json(json_config)
    else:
        json_config_content = json.loads('{"appPreferenceSettings":{}}')
        # json_config_content = json.load({})

    json_config_content["appPreferenceSettings"]["registerAsIMProvider"] = False
    json_config_content["appPreferenceSettings"]["openAsHidden"] = True
    json_config_content["appPreferenceSettings"]["runningOnClose"] = True
    json_config_content["openAtLogin"] = False
    json_config_content["isForeground"] = True
    json_config_content["wamFallbackInProgress"] = False
    json_config_content["disableWarningOnOpenKeyRegistered"] = True
    json_config_content["isAppFirstRun"] = False

    write_json(json_config, json_config_content)

    # settings.json
    if isfile(json_settings):
        json_settings_content = load_json(json_settings)
    else:
        json_settings_content = json.loads('{"baseSettings":{},"initializedSettings":{},"preauthSettings":{"samplingRules":{}}}')
        # json_settings_content = json.load({})

    # Update part
    json_settings_content["baseSettings"]["enableBlockSilentUpdate"] = True
    json_settings_content["baseSettings"]["disableAllUsersAutoUpdate"] = True
    json_settings_content["baseSettings"]["enableUnAuthUpdates"] = False
    # json_settings_content['initializedSettings']['disableAllUsersAutoUpdate'] = True
    # json_settings_content['preauthSettings']['disableAllUsersAutoUpdate'] = True
    # json_settings_content['preauthSettings']['samplingRules']['updateNotificationEnabled'] = False

    # Telemetry part
    json_settings_content["baseSettings"]["enableAdalMacTelemetryV2"] = False
    json_settings_content["baseSettings"]["enableAdalWinTelemetry"] = False
    json_settings_content["baseSettings"]["proplusAdditionalTelemetryEnabled"] = False
    json_settings_content["baseSettings"]["regionInTelemetryEnabled"] = False
    json_settings_content["baseSettings"]["tenantRegionInTelemetryEnabled"] = False
    # json_settings_content['initializedSettings']['tenantRegionInTelemetryEnabled'] = False
    # json_settings_content['preauthSettings']['tenantRegionInTelemetryEnabled'] = False
    # json_settings_content['preauthSettings']['samplingRules']['tenantRegionInTelemetryEnabled'] = False

    # Other part
    json_settings_content["baseSettings"]["enableRegisterProtocolToRoot"] = False
    # json_settings_content['preauthSettings']['registerAddinOnMeetingPolicySettingsSync'] = False

    write_json(json_settings, json_settings_content)


def load_json(json_filename):
    with open(json_filename) as json_file:
        data = json.load(json_file)
    return data


def write_json(json_filename, data):
    with open(json_filename, "w") as outfile:
        json.dump(data, outfile, sort_keys=True, indent=4, default=str)

# -*- coding: utf-8 -*-
from setuphelpers 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
    download_url = f"https://teams.microsoft.com/downloads/desktopurl?env=production&plat=windows&arch={control.architecture}&managedInstaller=true&download=true"

    # Getting latest version information from download url
    requests_result = requests.head(download_url, proxies=proxies, allow_redirects=True)
    latest_bin = requests_result.url.split("/")[-1]
    version = requests_result.url.split("/")[-2]

    # Downloading latest binaries
    print("Latest %s version is: %s" % (app_name, version))
    print("Download URL is: %s" % download_url)
    print("Downloading: %s" % latest_bin)
    wget(download_url, latest_bin, proxies=proxies)

    # Checking version from file
    version_from_file = get_version_from_binary(latest_bin)
    if Version(version_from_file, 4) != Version(version, 4) and version_from_file != "":
        print("Changing version to the version number of the binary (from: %s to: %s)" % (version, version_from_file))
        # os.rename(latest_bin, latest_bin.replace(version, version_from_file))
        version = version_from_file
    else:
        print("Binary file version corresponds to online version")

    # Changing version of the package
    if Version(version, 4) > Version(control.get_software_version(), 4):
        print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
        package_updated = True
    else:
        print("Software version up-to-date (%s)" % Version(version))
    control.set_software_version(version)
    control.save_control_to_wapt()

    # Validating or not update-package-sources
    return package_updated

2ea12f0501b001a8d0b4adcace250a25e5d5cbf6f4662f17720457630bb87c42 : Teams_windows.msi
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
cdce2f52a6abb1785a1a227c4e85e9fdc48c638a73d2d8a3015224a747409805 : WAPT/changelog.txt
4c7917d1e7452bdbfb37328697c82a5422b497bd21438f365cbf22f83312e228 : WAPT/control
c6e1224de3bf5ed2d252f9cee788480febfe2993b02cf91cf3258e7306274674 : WAPT/icon.png
41014b5f3721ceca619b737c44e52231f68e5e197d14653e9aa518f8d3f8632f : luti.json
3d3d04d2a3480439bef8be46edcb81c07f852da24cc1cf7c99eca529cba8d690 : setup.py
c04bf96b6091430b38a3b064539189c106e7c5df9d416e9539b357d699702db2 : update_package.py

https://support.office.com/article/what-s-new-in-microsoft-teams-d7092a6d-c896-424c-b362-a472d5f105de
1.6.0.6754-70
===
Fix NetFirewallRule on Windows 11
Min OS is now Windows 8.1+ (https://learn.microsoft.com/fr-fr/microsoftteams/hardware-requirements-for-the-teams-app#hardware-requirements-for-teams-on-a-windows-pc)
Improving update_package

1.5.0.14473-67
===
Translating control descriptions