tis-clean-fonts-system-partition icon

Cleaning Windows Fonts System Partition

Silent install package for Cleaning Windows Fonts System Partition

1-3

tis-clean-fonts-system-partition

⚠️ Ne pas utiliser ce paquet si votre Windows est installé en chinois, japonais ou coréen ⚠️

Ce paquet supprime toutes les polices asiatiques (chinoises, japonaises et coréennes) présentes dans la partition système EFI de Windows.
Ces polices peuvent empêcher certains postes Windows 10 d’être mis à jour vers Windows 11, notamment lors de l’utilisation du paquet tis-windows11-upgrade

Comment ça marche ?

  1. Le script cherche une lettre de lecteur libre (Par défaut Y:)

  2. Il monte la partition EFI mountvol Y: /S

  3. Il supprime tous les fichiers .ttf dans Y:\EFI\Microsoft\Boot\Fonts

  4. Il démonte la partition : mountvol Y: /D

Le démontage de la partition est assuré même en cas d’erreur durant l’exécution du script.

Clause de non-responsabilité

L’utilisation de ce paquet se fait à vos risques et périls. Tranquil IT ne saurait être tenu responsable en cas de dysfonctionnement, de perte de données ou de tout autre problème survenant suite à son exécution.

  • package: tis-clean-fonts-system-partition
  • name: Cleaning Windows Fonts System Partition
  • version: 1-3
  • categories: Utilities
  • maintainer: WAPT Team,Tranquil IT,Flavien SCHELFAUT
  • editor: WAPT
  • target_os: windows
  • architecture: all
  • signature_date:
  • size: 42.16 Ko

package           : tis-clean-fonts-system-partition
version           : 1-3
architecture      : all
section           : base
priority          : optional
name              : Cleaning Windows Fonts System Partition
categories        : Utilities
maintainer        : WAPT Team,Tranquil IT,Flavien SCHELFAUT
description       : A package that removes all fonts from the System partition because these fonts block the upgrade to windows 11
depends           : 
conflicts         : 
maturity          : PROD
locale            : 
target_os         : windows
min_wapt_version  : 2.6
sources           : 
installed_size    : 
impacted_process  : 
description_fr    : Un paquet qui supprime toutes les polices de caractères dans la partition Système car ces polices bloquent la mise à jour vers windows 11
description_pl    : Pakiet, który usuwa wszystkie czcionki na partycji systemowej, ponieważ blokują one aktualizację do systemu Windows 11
description_de    : Ein Paket, das alle Schriftarten in der Systempartition löscht, da diese Schriftarten die Aktualisierung auf Windows 11 blockieren
description_es    : Un paquete que borra todas las fuentes en la partición System porque estas fuentes bloquean la actualización a windows 11
description_pt    : Um pacote que elimina todos os tipos de letra na partição Sistema porque estes tipos de letra bloqueiam a atualização para o Windows 11
description_it    : Un pacchetto che elimina tutti i font nella partizione di sistema perché questi font bloccano l'aggiornamento a Windows 11
description_nl    : Een pakket dat alle lettertypen in de systeempartitie verwijdert omdat deze lettertypen de upgrade naar Windows 11 blokkeren
description_ru    : Пакет, удаляющий все шрифты в системном разделе, поскольку эти шрифты блокируют обновление до windows 11
audit_schedule    : 
editor            : WAPT
keywords          : 
licence           : 
homepage          : 
package_uuid      : d2ce1d8d-b1e7-4857-a659-3e9e2f77bb9c
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : b3224aa80cc54b54f8732c118ccff5a8968dec827100ff928d919ca0f4bdc8f3
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-05-16T12:00:16.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         : OGYSUp4a0Gdlsxr2D/mZ1/wxD5ghP9SCGd07SRqBxRv+/salrVxO+P/bzganGGkAM2oBruPGpz6C4ACHpVk7gxrhoNbdtqIxmsw1J/cqr3Y3N+VvVQWSdk7mLNpEuyEuuq65N0APKgkUof37VfI2TZWziR8bZS0uZ9C7LFrvfW5S2yy/wvzKd+b1qIAM1NJWMU/GGsN3+s1CZ9CI/lykas1/VDeYDgXKqke3AMc2nn9sH9XcEsEEMHHXPAzb/Tpn5z2+p8iDbemX0C76QbQq92T2sLNznwKat9PlTt1PnAamOnXZO9kGFQIHnJWTcHcUPR9TkwvK56s8uKRlCoEZHg==

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

class WindowsNetworkShare():

    def __init__(self):
        self.WshNetwork = win32com_ensure_dispatch_patch("WScript.Network")

    def get_mapped_drives(self) -> list:
        drives = self.WshNetwork.EnumNetworkDrives()
        mapped_drives = []
        for i in range(0, drives.Count(), 2):
            splited_path = drives.Item(i + 1).removeprefix(os.sep * 2).split(os.sep)
            letter = drives.Item(i).replace(':', '')
            server, path = splited_path[0], '/'.join(splited_path[1:])
            mapped_drives.append({'letter': letter, 'name': splited_path[-1], 'server': server, 'path': path})
        return mapped_drives

    def is_mapped(self, letter: str):
        return any(d['letter'] in letter for d in self.get_mapped_drives())

def windows_has_gpt_partition():
    
    wmi = wmi_info(keys=['Win32_DiskPartition'])
    disk_partition = wmi['Win32_DiskPartition']
    
    if isinstance(disk_partition, dict):
        disk_partition = [disk_partition]

    for p in disk_partition:
        if (p['Bootable'] and p['BootPartition']) and p['Type'] == "GPT: System":
            return True
    return False

def install():
    
    if not windows_has_gpt_partition():
        error('No EFI partition found on this computer')
    
    tmp_mounted_letter = 'Y'
    windows_network_share = WindowsNetworkShare()
    
    if windows_network_share.is_mapped(tmp_mounted_letter):
        for l in reversed(string.ascii_uppercase):
            if not windows_network_share.is_mapped(l):
                tmp_mounted_letter = l ; break

    try:
        run(f"mountvol {tmp_mounted_letter}: /S")
        for font in glob.glob(f'{tmp_mounted_letter}:\EFI\Microsoft\Boot\Fonts\*.ttf'):
            remove_file(font)
    finally:
        run(f"mountvol {tmp_mounted_letter}: /D")
    

94d66163dfbbfebabbc45b5f94b59854dfe7a20f7cb9be1c50ea4cee253113c2 : WAPT/README.md
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
17aed53ab41afcd8cf3c631ba5ee03e13006e13db9a9421e52c7b2d41836f86a : WAPT/control
b3224aa80cc54b54f8732c118ccff5a8968dec827100ff928d919ca0f4bdc8f3 : WAPT/icon.png
ab748aafff2b3e21fa48f29ca4c2f06183a3c306d10545b14830acdcfc8f5ac5 : luti.json
6aa2f9f020a9ddba598c8938b7cc171d369c10ea003889cb9295db99dae87fc9 : setup.py