tis-vscode icon

Visual Studio Code

Paquet d’installation silencieuse pour Visual Studio Code

1.106.2-43
Development
Development

Les paquets PREPROD sont des paquets construits via LUTI. Ils restent généralement 5 jours en PREPROD, après quoi un scan VirusTotal est effectué.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.

  • package: tis-vscode
  • name: Visual Studio Code
  • version: 1.106.2-43
  • categories: Development
  • maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ,Jordan ARNAUD
  • editor: Microsoft
  • licence: MIT,TypeScript
  • locale: all
  • target_os: windows
  • impacted_process: Code,code
  • architecture: x64
  • signature_date:
  • size: 115.04 Mo
  • installed_size: 415.31 Mo
  • homepage : https://code.visualstudio.com/

package           : tis-vscode
version           : 1.106.2-43
architecture      : x64
section           : base
priority          : optional
name              : Visual Studio Code
categories        : Development
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ,Jordan ARNAUD
description       : Visual Studio Code is a source-code editor developed by Microsoft
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : windows
min_wapt_version  : 2.3
sources           : https://code.visualstudio.com/Download
installed_size    : 415312378
impacted_process  : Code,code
description_fr    : Visual Studio Code est un éditeur de code extensible développé par Microsoft
description_pl    : Visual Studio Code to edytor kodu źródłowego opracowany przez firmę Microsoft
description_de    : Visual Studio Code ist ein von Microsoft entwickelter Quellcode-Editor
description_es    : Visual Studio Code es un editor de código fuente desarrollado por Microsoft
description_pt    : Visual Studio Code é um editor de código-fonte desenvolvido pela Microsoft
description_it    : Visual Studio Code è un editor di codice sorgente sviluppato da Microsoft
description_nl    : Visual Studio Code is een broncode-editor ontwikkeld door Microsoft
description_ru    : Visual Studio Code - это редактор исходного кода, разработанный компанией Microsoft
audit_schedule    : 
editor            : Microsoft
keywords          : visual,studio,code,vs,vscode,editor,debugger
licence           : MIT,TypeScript
homepage          : https://code.visualstudio.com/
package_uuid      : 365dfedf-7791-49b1-bea3-541bcb220536
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://code.visualstudio.com/updates
min_os_version    : 10.0
max_os_version    : 
icon_sha256sum    : 50b90b0ed98d91261db603bf1d2f762c0912d9f615961b92af1e483fbd129aa7
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2025-11-19T20:34:01.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         : OkZgBHpulLeXlQFQMI7l9BowdovASLDmYV1GqV0sOrUDj3paEKXkVzw9KBbRhFbteaoXa/PuXnjvF+v2vVSHwl7sWj/8alj2JkIoT9/oSo0EjvEFZoJZ2t/WH/ChlHD4LMQSfmjFslWQJCdiE9cHzVeKGaufEfkMegsy9UdfPaqMPNRTFb91FPa4rUuBysc8ibpptCoyE7dPdWLDOSn/UcnMLTT3u76tWxbDlLq3TgTXgxeAXaX7D+GSASka4MXcEZPyXw8jBKMBfbB2FaRHdVbP64i1cUhnTJbDNwWGLSGW2kyHRwjCDNDdiDVlUW5mKo5v6TalF3cELgFx7uUPOw==

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


def install():
    bin_name = glob.glob("VSCodeSetup-*.exe")[0]
    app_uninstallkey = "Microsoft Visual Studio Code"

    install_exe_if_needed(
        bin_name,
        silentflags='/verysilent /mergetasks="!runcode"',
        name=app_uninstallkey,
        min_version=control.get_software_version()
    )

    # Adding Firewall Rules
    app_name = "Visual Studio Code"
    app_path = makepath(installed_softwares(name=app_uninstallkey)[0]["install_location"], "code.exe")
    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}" -Program "{app_path}" -Action Allow -Direction Inbound -Enabled True')


def session_setup():
    print("Disabling: Telemetry, automatic updates, surveys")

    # Configuration procedure: https://supunkavinda.blog/vscode-editing-settings-json
    # C:\Users\username\AppData\Roaming\Code\User\settings.json

    # Initializing variables
    user_conf_dir = makepath(user_appdata, "Code", "User")
    user_conf_file = makepath(user_conf_dir, "settings.json")
    user_conf_content = r"""{
    "update.mode": "none",
    "update.enableWindowsBackgroundUpdates": false,
    "update.showReleaseNotes": false,
    "telemetry.telemetryLevel": "off",
    "typescript.surveys.enabled": false,
    "extensions.autoCheckUpdates": false,
    "extensions.autoUpdate": false
}"""

    user_conf_data = json.loads(user_conf_content)
    if not isdir(user_conf_dir):
        mkdirs(user_conf_dir)
    if not isfile(user_conf_file):
        print("Creating: settings.json in: %s" % user_conf_dir)
        json_write_file(user_conf_file, user_conf_data)
    else:
        new_user_conf_data = json_load_file(user_conf_file)
        new_user_conf_data.update(user_conf_data)
        print("Updating: settings.json in: %s" % user_conf_dir)
        json_write_file(user_conf_file, new_user_conf_data)

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


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

    os_dict = {
        "windows-x64": "win32-x64",
        "windows-arm": "win32-arm64",
        "redhat_based-x64": "linux-rpm-x64",
        "debian(>=12),ubuntu(>=20)-x64": "linux-deb-x64",
        "debian(>=12),ubuntu(>=20)-arm64": "linux-deb-arm64",
        "darwin-x64": "darwin",
        "darwin-arm": "darwin-arm64",
    }

    os_type = control.target_os + "-" + ensure_list(control.architecture)[0]

    api_url = "https://api.github.com/repos/microsoft/vscode/releases/latest"

    # Getting latest version information from official sources
    print("API used is: %s" % api_url)
    json_load = wgets(api_url, proxies=proxies, as_json=True)
    version = json_load["tag_name"]
    download_url = f"https://update.code.visualstudio.com/{version}/{os_dict[os_type]}/stable"
    download_url = requests.head(download_url, proxies=proxies).headers['Location']
    latest_bin = download_url.rsplit('/', 1)[-1]
    latest_bin_extension = latest_bin.rsplit('.', 1)[-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}")

    expected_issuer = "Microsoft Corporation"
    sign_name = waptlicences.check_exe_signing_certificate(latest_bin)[0]
    if sign_name != expected_issuer:
        error(f'Bad issuer {sign_name} != {expected_issuer} ')

    # 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

90aceb3de6f8eb521e32fb68f37a3496e808c06ac578af6364d425b6c8417572 : VSCodeSetup-x64-1.106.2.exe
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
e1f5aac6e2f19b23f5578ce97d7d6a1196540f1f5e04b47b4583f88fb66b0bd8 : WAPT/control
50b90b0ed98d91261db603bf1d2f762c0912d9f615961b92af1e483fbd129aa7 : WAPT/icon.png
676651567218b7b43290a8f0805be22a7468d801ad36c3277588a8ede4e6d647 : luti.json
69b19f6161f33a1140de1d8fa766b95065a35444025e8923109a9202f1bf37eb : setup.py
c534f7c9b838bf084a53f366f9a73686910cbd65efc00cc9f0e1f163baddf0d8 : update_package.py