Aggiunto menu contestuale per VSCODE

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Risposta
jorico
Messaggi: 27
Iscrizioni: 11 agosto 2022 - ore 16:42
Posizione: NIORT

12 febbraio 2025 - 12:59

Ciao team TrankilIT,

Ho modificato il pacchetto tis-vscode per aggiungere VScode al menu contestuale di Windows:

Codice: Seleziona tutto

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


def install():
    bin_name = glob.glob("VSCodeSetup-*.exe")[0]
    if control.architecture == "x64":
        app_uninstallkey = "{EA457B21-F73E-494C-ACAB-524FDE069978}_is1"
    else:
        app_uninstallkey = "{F8A2A208-72B3-4D61-95FC-8A65D340689B}_is1"

    install_exe_if_needed(
        bin_name,
        silentflags='/verysilent /mergetasks="!runcode,addcontextmenufiles,addcontextmenufolders,associatewithfiles,addtopath"',
        key=app_uninstallkey,
        min_version=control.get_software_version(),
        timeout=600,
    )

    # Adding Firewall Rules
    app_name = "Visual Studio Code"
    app_path = makepath(installed_softwares(uninstallkey=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)
Caricherò la mia versione del pacchetto nel caso possa essere utile :D
WAPT Enterprise 2.5.5.15697
Server = Debian 11 Bullseye
Console = Windows Server 2019
--------------------------------------------------------------------------

Johan
Avatar utente
t.heroult
Messaggi: 304
Iscrizioni: 8 dicembre 2020 - ore 10:13

18 febbraio 2025 - 09:26

Fantastico, grazie per la condivisione!
Server: WAPT Enterprise 2.6.1.17765 su Debian
Console: Windows 10 e 11
Infrastruttura: Windows

Lo sapevi? Quando i pesci pappagallo subiscono la smoltificazione, il loro meccanismo di osmoregolazione si inverte!
Risposta