Skip to content

WinToolkit-GUI.ps1: some changes#72

Merged
Magnetarman merged 7 commits into
Magnetarman:Devfrom
pomodori92:fix-WinToolkit-GUI
Apr 17, 2026
Merged

WinToolkit-GUI.ps1: some changes#72
Magnetarman merged 7 commits into
Magnetarman:Devfrom
pomodori92:fix-WinToolkit-GUI

Conversation

@pomodori92
Copy link
Copy Markdown

🚀 Pull Request Info

Tipo di Modifica Dettaglio
Branch Destinazione DEV (Obbligatorio)
Issue Collegata Fixes #
Ambito [Es. Tooling / UI / Core]

📝 Descrizione delle Modifiche

  • Fix: window resolution decreased to HD ready for small screens.
  • Style: breaklines.
  • Refactor: merged two opposite if statements in if-else statement.
  • Style: Removed script names in "Funzioni disponibili".

🛑 CHECKLIST DI QUALITÀ (Standard WinToolkit)

L'assenza di una spunta o la violazione delle regole comporterà il rifiuto automatico della PR.

  • Branch di destinazione: Ho indirizzato la PR a DEV. (PR verso main saranno chiuse immediatamente).
  • Atomicità: Questa PR risolve UN singolo problema o aggiunge UNA singola feature.
  • Integrità Build: Dichiaro di NON aver modificato manualmente WinToolkit.ps1 (gestito dall'automazione).
  • Targeting Corretto: Ho modificato solo i file in /tool/*.ps1 o WinToolkit-template.ps1.
  • Stile Code: Ho seguito lo stile di scripting esistente e non ho lasciato debug code.
  • Lingua e Commit: Ho scritto commit chiari in italiano (max 72 char per riga).

🛠️ Dettagli Tecnici & Architetturali

Elenca i file modificati e la logica applicata:

  • WinToolkit-GUI.ps1 -> Fix: window resolution decreased to HD ready for small screens.
  • WinToolkit-GUI.ps1 -> Style: breaklines.
  • WinToolkit-GUI.ps1 -> Refactor: merged two opposite if statements in if-else statement.
  • WinToolkit-GUI.ps1 -> Style: Removed script names in "Funzioni disponibili".

🧪 Risultati dei Test e Log

È fortemente consigliato includere uno snippet dei log di test o uno screenshot del corretto funzionamento.

  • Ho verificato le modifiche localmente tramite compiler.ps1.
  • Ho allegato/incollato i log di successo qui sotto.
image

📖 Documentazione (Se applicabile)

  • Ho aggiornato i commenti nel codice (fogli di aiuto/help docs).
  • Ho aggiornato il README o la documentazione esterna se necessario.

@Magnetarman Magnetarman merged commit 12e6610 into Magnetarman:Dev Apr 17, 2026
3 of 5 checks passed
@pomodori92 pomodori92 deleted the fix-WinToolkit-GUI branch April 18, 2026 07:50
@Magnetarman Magnetarman mentioned this pull request May 30, 2026
86 tasks
Magnetarman added a commit that referenced this pull request May 30, 2026
### Aggiunte

- **start.ps1**
- [x] Aggiunto countdown di 5 secondi prima della chiusura dello script.
Adesso alla fine dell'installazione lo script si chiude automaticamente
se ogni operazione è stata eseguita con successo.
- **Profilo PowerShell**
  - [x] Aggiunta funzione caricamento WinToolkit-GUI.
- **WinCleaner**
- [x] Aggiunta funzione di debloat del modello AI Locale di Google che
si installa all'insaputa dell'utente.
[[Video]](https://www.youtube.com/watch?v=vWNfSGPivHQ)

### Correzioni

- **WinToolkit-template.ps1**
- [x] Aggiunta funzione pulizia log eventi.
[[#104](#104)
[@Magnetarman]](https://github.com/Magnetarman)
- [x] Fix testo spinner in `Invoke-WithSpinner`.
[[#112](#112)
[@Magnetarman]](https://github.com/Magnetarman)
- [x] Fix assert funzioni admin.
[[#105](#105)
[@Magnetarman]](https://github.com/Magnetarman)
- [x] Fix pulizia `WinCleaner`.
[[#103](#103)
[@Magnetarman]](https://github.com/Magnetarman)
- [x] Fix errore avvio UniGetUI.
[[#102](#102)
[@Magnetarman]](https://github.com/Magnetarman)
- [x] Fix avvisi sicurezza durante i test.
[[#101](#101)
[@Magnetarman]](https://github.com/Magnetarman)
- [x] Fix regex case-insensitive nel compiler.
[[#90](#90)
[@Magnetarman]](https://github.com/Magnetarman)
- [x] Fix etichettatura toolkit.
[[#89](#89)
[@Magnetarman]](https://github.com/Magnetarman)
- [x] Fix rollback `compiler.ps1`.
[[#88](#88)
[@Magnetarman]](https://github.com/Magnetarman)
- [x] Fix perdita privacy log.
[[#87](#87)
[@Magnetarman]](https://github.com/Magnetarman)
- [x] Refactor completo `Office Toolkit`.
[[#86](#86)
[@Magnetarman]](https://github.com/Magnetarman)
- [x] Fix test falliti WinToolkit.
[[#76](#76)
[@Magnetarman]](https://github.com/Magnetarman)

- **start.ps1**
  - [x] Rimossa variabile `$rebootNeeded`.
- [x] Spostati CLSID Windows Terminal e lista processi interferenti
Winget in `$script:AppConfig`.
  - [x] Rimosso stile Progress da `$Global:MsgStyle`.
- [x] Eliminata funzione `Install-NuGetIfRequired` e il suo pre-check
ridondante in `Install-WingetPackage`.
- [x] Rimossa una chiamata ridondante a `Update-EnvironmentPath` prima
del fallback MSIX.
- [x] Rimosso if con warning non bloccante in `Test-VCRedistInstalled`.
  - [x] Corretta numerazione passi in `Repair-WingetDatabase`.
- [x] Sostituito valore non valido Progress con Info nel parametro -Type
di Write-StyledMessage (risolve errore ValidateSet runtime).
- [x] Install-GitPackage - Sostituite 3 occorrenze di aggiornamento PATH
inline con la funzione `Update-EnvironmentPath` esistente.
- [x] Invoke-WinToolkitSetup - Rimossa duplicazione codice rilevamento
percorso pwsh.exe (ora rilevato una sola volta).
  - Estrazione funzioni annidate:
    - [x] `Get-WingetDownloadUrl` estratta da `Install-WingetCore`.
    - [x] `Install-NerdFontsLocal` estratta da `Install-PspEnvironment`.
    - [x] `Get-ProfileDirLocal` estratta da `Install-PspEnvironment`.
- [x] Aggiunta lista UpdateServices in $script:AppConfig e aggiornate
Invoke-StopUpdateServices / Invoke-StartUpdateServices.
- [x] Spostato $Global:MsgStyles all'interno di AppConfig eliminando
scope globale non necessario.
- [x] Corretto pattern ProgressPreference in Install-WingetPackage (ora
salva e ripristina valore originale).
  - [x] Uniformato operatore negazione da ! a -not per coerenza.
- [x] Corretta numerazione passi mancante (#6) in Repair-WingetDatabase.
- [x] Aggiunto Layout.Width in configurazione, rimossi magic number 65
hardcoded.
- [x] Rimossa inizializzazione superflua `$downloadUrl = $null` a riga
1127.
  - [x] Aggiunto blocco .SYNOPSIS a tutte le 20 funzioni presenti.
  - [x] Riorganizzato il codice in modo più pulito e lineare.
- [x] Rimuovi tutti i caratteri ANSI/colori prima di salvare su file.
[[Thanks To @ennio Costanzi]]()
- [x] Corretti errori di parsing funzione non correttamente
inizializzata. [[Thanks To @ennio Costanzi]]()

- **WinToolkit-template.ps1**
- [x] Sostituita la chiusura dei processi duplicata nel ripristino di
Winget integrando la funzione `Stop-ToolkitProcesses`.
- [x] Consolidata e de-duplicata registrazione `AppxManifest.xml`
tramite funzione interna dedicata.
- [x] Aggiunto caching a `Get-SystemInfo` azzerando latenze CIM durante
il ricarico del menu principale.
- [x] Inserita funzione `Initialize-ToolkitPaths` centralizzata per i
folder log/temp, chiamata fuori ciclo prima della UI.
- [x] Ottimizzato wrapper custom `Read-Host` tramite interruzione
bloccante `ReadKey()` cancellando overhead della CPU nel polling loop.
- [x] Uniformati link e blocchi di configurazioni `AppConfig` centrali.
- [x] Gestione Servizi: Aggiunte le funzioni Invoke-StopUpdateServices e
Invoke-StartUpdateServices per sospendere temporaneamente wuauserv,
bits, cryptsvc e dosvc.
- [x] Integrazione: Il sistema ora arresta i servizi subito dopo i
controlli preliminari e li riavvia automaticamente in ogni scenario di
uscita (completamento, riavvio in PowerShell 7/Terminal o errore
critico).
- [x] Feedback Utente: Inseriti messaggi di stato per informare
correttamente l'utente durante l'arresto e il riavvio dei servizi.
- [x] Introdotta funzione `Test-WindowsUpdateStatus` per rilevare gli
aggiornamenti di Windows in sospeso e l'attività del programma di
installazione.
- [x] Rimuovi tutti i caratteri ANSI/colori prima di salvare su file.
[[Thanks To @ennio Costanzi]]()
  - [x] Corretti bug in `Get-UserConfirmation` e `Read-ValidatedChoice`.
- [x] Aggiornato menu principale di WinToolkit per sfruttare
`Read-ValidatedChoice`.
- [x] Adeguati i vari script per utilizzare la nuova funzione
Invoke-WithSpinner globale, eliminando le vecchie funzioni
Write-Spinner/Stop-Spinner e Write-Wait.
- [x] Adeguati i commenti interni in modo che siano coerenti con le
modifiche effettuate.
- [x] Aggiornata funzione di Log e resa globale in modo da limitare
chiamate multiple durante l'avvio di ogni singola funzione.

- **WinRepairToolkit**
- [x] Improve AppX registration and chkdsk handling. [[Thanks To @ennio
Costanzi]]()
- [x] Controllo iniziale stato sistema: Aggiunta funzione
`Test-PendingOperations` che verifica chiavi di registro per reboot
pendente e avvisa l'utente prima di iniziare le riparazioni.
- [x] Pulizia stato DISM: Esecuzione automatica di DISM /CancelCommands
prima di ogni operazione /StartComponentCleanup per annullare operazioni
pendenti.
- [x] Gestione specifica errore: 0x800f0806 viene riconosciuto come non
critico, viene mostrato un avviso informativo e non viene conteggiato
come errore.
- [x] Supporto codice exit 3010: DISM /ResetBase che ritorna 3010
(reboot richiesto) viene considerato successo.
- [x] Esclusione errore dal conteggio: 0x800f0806 viene saltato nella
logica di rilevazione errori generale.
- [x] Rimossa funzione registrazioni AppX in quanto il Fix temporaneo
non risulta più necessario con gli ultimi cumulativi di Windows 11.

- **compiler.ps1**
- [x] Corretti errori di parsing funzione non correttamente
inizializzata.

- **README.md**
- [x] Aggiunto banner conto totale dei Download [Diventera realistico
quando la versione GUI verrà ultimata].

### Modifiche

- **WinToolkit-template.ps1**
- [x] Aggiunta funzione `Get-UserConfirmation` (sostituisce
`Read-YesNoPrompt`).
- [x] Aggiunta funzione `Read-ValidatedChoice` (gestisce input multipli
e validazione avanzata).
- [x] Rimosse funzioni deprecate come `Get-UserConfirmation`,
aggiornamento dei vari script al nuovo paradigma completo.

- **VideoDriverInstall.ps1**
- [x] Upgrade script installazione driver video.
[[#109](#109)
[@Magnetarman]](https://github.com/Magnetarman)
- [x] Refactor `Video Driver Toolkit`.
[[#108](#108)
[@Magnetarman]](https://github.com/Magnetarman)

- **Pipeline CI/CD**
- [x] Upgrade workflow pipeline CI/CD.
[[#91](#91)
[@Magnetarman]](https://github.com/Magnetarman)
- [x] Pipeline CI/CD v 3.1.0.
[[#77](#77)
[@Magnetarman]](https://github.com/Magnetarman)

- **WinToolkit-template.ps1**
- [x] Refactor del template principale.
[[#81](#81)
[@Magnetarman]](https://github.com/Magnetarman)

- **Office Toolkit**
- [x] Upgrade debloat dopo installazione.
[[#80](#80)
[@Magnetarman]](https://github.com/Magnetarman)
- [x] Office uninstall SaRA con comando Get Help.
[[#79](#79)
[@Magnetarman]](https://github.com/Magnetarman)
- [x] Rework `Office Toolkit`.
[[#78](#78)
[@Magnetarman]](https://github.com/Magnetarman)

- **Profilo PowerShell**
- [x] Aggiunta breakline in istruzione if.
[[#99](#99)
[@pomodori92]](https://github.com/pomodori92)
- [x] Status supporto versioni Windows nel README.
[[#96](#96)
[@pomodori92]](https://github.com/pomodori92)
- [x] Rimosse variabile inutilizzata da `WinToolkit-GUI.ps1`.
[[#74](#74)
[@pomodori92]](https://github.com/pomodori92)
- [x] Testi help per Safe, Warning e Alert nel profilo PowerShell.
[[#73](#73)
[@pomodori92]](https://github.com/pomodori92)
- [x] Modifiche `WinToolkit-GUI.ps1`.
[[#72](#72)
[@pomodori92]](https://github.com/pomodori92)
- [x] Refactor check `Install-GitPackage` e rimossa variabile
`wingetDeepCheck`.
[[#67](#67)
[@pomodori92]](https://github.com/pomodori92)
- [x]Check se `$resolveWingetPath` è null e messaggi di errore.
[[#66](#66)
[@pomodori92]](https://github.com/pomodori92)
- [x] Comando winget uninstall per includere tutte le versioni
PowerShell. [[#65](#65)
[@pomodori92]](https://github.com/pomodori92)
- [x] PowerShell aggiornato con successo, ma dice "Installazione
interrotta". [[#75](#75)
[@pomodori92]](https://github.com/pomodori92)
- [x] Timeout riparazioni a 3 ore.
[[#71](#71)
[@pomodori92]](https://github.com/pomodori92)
- [x] OfficeTool: barra file eliminati appare sotto le opzioni menu.
[[#68](#68)
[@pomodori92]](https://github.com/pomodori92)
- [x] Dopo aver selezionato l'opzione 3, si blocca durante il ripristino
Winget. [[#59](#59)
[@pomodori92]](https://github.com/pomodori92)

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants