# comi-cleanmgr - sources de paquet WAPT Paquet de configuration de **N profils cleanmgr Windows**, destine a etre personnalise avec **Lancer update-package** depuis la console WAPT. Pas de suppression de fichiers lors de l'installation : seuls les parametres des profils sont deposes dans le registre. ## Update-package : approche native WAPT Le code est adapte des conventions utilisees dans le paquet public officiel [`tis-waptagent-logo-template` 1.1-15](https://wapt.tranquil.it/store/en/details/tis-waptagent-logo-template_1.1-15_windows_5.1_PROD.wapt) : - `waptguihelper.message_dialog(...)` : introduction et validation. - `waptguihelper.input_dialog(...)` : nombre de profils, categories additionnelles. - `waptguihelper.grid_dialog(..., waptguihelper.GRT_ALL, MetaData)` : tableau editable des IDs/noms et grilles de categories (booleens). - `control.inc_build()` puis `control.save_control_to_wapt()` : incrementation native du build WAPT lors d'un changement. - Garde pour `params['install_with_luti']` ou `params['running_as_luti']` : pas d'interface sur les builds automatiques LUTI. Les helpers `ask_control_package` et `ask_control_version` de l'exemple de Tranquil IT sont **definis dans le fichier de l'exemple** ; ce ne sont pas des API standard. Ici, comme le nom du paquet ne change pas et que seule sa configuration change, `control.inc_build()` est suffisant. ## Utilisation 1. Extraire l'archive comme sources WAPT, puis ouvrir le paquet dans la **console WAPT sur Windows**. 2. Depuis le depot prive, cliquer **Lancer update-package**. 3. Saisir N (1 a 50), puis renseigner **dans une seule grille** les IDs `0..9999` et les noms des N profils. 4. Pour chacun, cocher les categories dans la grille interactive. Les `VolumeCaches` personnalises sont disponibles dans un champ facultatif. 5. Confirmer le recapitulatif : cela reecrit `profiles.json`, incremente le numero de build de `WAPT/control` et enregistre le controle. 6. Construire, **signer** et publier le paquet selon le flux de travail habituel, puis l'installer sur les postes. 7. Exemples d'execution (locale, admin ou action distante autorisee) : ```cmd cleanmgr.exe /sagerun:4101 cleanmgr.exe /sagerun:4102 ``` `update_package()` s'execute **sur le poste de l'administrateur**, pas sur les endpoints. Les postes ne voient jamais de fenetres de configuration : `setup.py` lit seulement `profiles.json` a l'installation. ## Fonctionnement agent - Configuration en `HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches`. - `StateFlagsNNNN` REG_DWORD a `2` (categorie activee) ou `0` (categorie desactivee). - Trace des IDs et de la configuration dans `HKLM\SOFTWARE\Comitari\CleanmgrProfiles`. - `audit()` verifie les flags : `OK`, `WARNING` si categorie selectionnee absente de ce Windows, `ERROR` si registre non conforme. - `uninstall()` efface les valeurs de profil gerees sans toucher aux autres IDs. - Les profils supprimes lors d'une evolution du paquet voient leurs flags nettoyes. ## Precautions - Ne **jamais** reutiliser un ID attribue a un autre administrateur : le paquet prend le controle des `StateFlagsNNNN` de l'ID utilise. - Certaines categories n'existent pas sous toutes les versions de Windows. - `Previous Installations` et `Update Cleanup` peuvent limiter le retour en arriere ; `Recycle Bin` supprime le contenu de la corbeille. - Le comportement sous SYSTEM peut differer de celui dans une session utilisateur. - L'action integree **Lancer CleanMgr** de WAPT Enterprise n'est pas prouvee comme prenant en charge les profils `4101/4102` personnalises. - Aucune tache planifiee ou nettoyage n'est lance automatiquement par ce paquet. - L'interface graphique n'a pas ete testee sur une console WAPT Windows reelle. La logique a ete testee via des doubles Python des helpers, de la console et du registre. ## Contenu - `WAPT/control` : metadonnees WAPT (minimum WAPT 2.4). - `update_package.py` : assistant interactif de configuration, utilisant les helpers WAPT. - `profiles.json` : donnees des profils embarquees. - `setup.py` : application des profils sur les machines Windows, `audit`, `uninstall`. Sources uniquement ; archive non signee, non compilable directement en `.wapt` sans la console et la chaine de signature WAPT.