tis-microsoft-teams
1.7.0.30955-71
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)
34678 downloads
See build result See VirusTotal scan
Description
- package : tis-microsoft-teams
- name : Microsoft Teams classic
- version : 1.7.0.30955-71
- categories : Media,Messaging,Office
- maintainer : WAPT Team,Tranquil IT,Jimmy PELÉ,Gaëtan SEGAT
- installed_size : 478189403
- editor : Microsoft
- licence : proprietary_free,wapt_public
- signature_date : 2024-11-27T23:00:50.000000
- size : 145.71 Mo
- locale : all
- target_os : windows
- impacted_process : Teams
- architecture : x86
- Homepage : https://www.microsoft.com/microsoft-365/microsoft-teams/group-chat-software
- Conflicts :
control
package : tis-microsoft-teams
version : 1.7.0.30955-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 : 50e06cbc-ece0-4c2e-ba3b-e9c6f7edbf68
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 : 2024-11-27T23:00:50.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 : v1NncJEm62joIBYAKhz2KU8T6n+FRpRnA2Jf7P3Kbc2VsEYZPiSZy09ECWQPgDOip8KmOEi7h8y+rPqk3QyonXY9I1acyLQrKXfZvXmcd3fJL8e/OQSm79s782cQiESYMAlYfNDBzQlQiXxh4I8VmjltMf+CV1nAgytvB9WCkO2T95ybUcPLz6u+l/8sBhrITBZT8rBaNmZ6QtoBNzhiL/8fIYdVHShAXjQi+cuiisweXSPH94fSxu7pLldnYZ3iDzd4NS1ICL0p97NIxeCGYwcO4P+msZqNhT/Ggpg7cyY6RP/XbYuXJILBQyhqJ0ZeaTV1RVmN48zD8DwYOIFJ9A==
Setup.py
# -*- 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)
update_package.py
# -*- 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
376dfc535692efe247e58a968fc66612413b6bfe958277c2dfc939af6da1dd3b : Teams_windows.msi
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
cdce2f52a6abb1785a1a227c4e85e9fdc48c638a73d2d8a3015224a747409805 : WAPT/changelog.txt
253ed1d9ea9181e342a930de364d611419f3af5eb08793ffa19caa4831978351 : WAPT/control
c6e1224de3bf5ed2d252f9cee788480febfe2993b02cf91cf3258e7306274674 : WAPT/icon.png
426526fa7da11ac9782fc6892e0ed4933e61d51b5523137c488c7f27f05e2d15 : luti.json
3d3d04d2a3480439bef8be46edcb81c07f852da24cc1cf7c99eca529cba8d690 : setup.py
c04bf96b6091430b38a3b064539189c106e7c5df9d416e9539b357d699702db2 : update_package.py
Changelog
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