Errore 0x80073cf9 e “Access is denied” su Windows 10: guida definitiva per reinstallare Microsoft Teams con MSIX e TeamsBootstrapper

Non riesci a reinstallare Microsoft Teams su Windows 10 (build 19045) e incontri l’errore 0x80073cf9 o l’eccezione “Access is denied” nei log di Squirrel Updater? Questa guida pratica ti porta dalla diagnosi alla soluzione stabile con installer offline MSIX.

Indice

Scenario e sintomi

In alcuni casi l’app desktop di Microsoft Teams (nuova versione, basata su MSIX e bootstrapper) può risultare “incastrata”: l’elenco dei team non si carica, la disinstallazione fallisce dalle App installate e la successiva reinstallazione con il classico setup.exe si blocca. I segnali tipici sono:

  • Teams non mostra più i team, canali o chat restano in caricamento infinito.
  • In Impostazioni > App > App installate compare un errore di rimozione con codice 0x80073cf9.
  • Nel log di aggiornamento/avvio (Squirrel Updater) appare “Access is denied” e il processo si interrompe.
  • Anche eliminando cartelle in %appdata% e %localappdata%, Windows continua a considerare l’app “registrata”.

Perché accade: cosa significano gli errori

ErroreContestoCausa probabileEffetto
0x80073cf9Pipeline Appx/MSIX (installazione, registrazione pacchetto)File o cartelle bloccati, registrazione Appx incoerente, cartelle Store come WindowsApps/AppRepository con permessi non standard, servizi Appx non attivi, spazio insufficiente o interferenze AV.Installazione/aggiornamento fallisce dalle App installate o dal vecchio setup.
“Access is denied”Bootstrap/auto‑update (Squirrel) di Teams 2Negazione di accesso su file/chiavi di registro, blocco da antivirus, esecuzione senza privilegi quando serve la registrazione per‑utente o provisioning per‑macchina.Il bootstrapper non riesce a scrivere/registrare e si interrompe.

Soluzione rapida consigliata (funziona nella maggior parte dei casi)

Questa sequenza “pulita” evita i colli di bottiglia tipici del vecchio setup, sfruttando la via MSIX e il bootstrapper ufficiale.

  1. Scarica gli installer offline più recenti (dal canale aziendale o repository interno):
    • TeamsBootstrapper.exe (installer autonomo).
    • Il pacchetto MSIX di Teams corrispondente all’architettura del PC: x64, x86 o ARM64.
    Tip: se lavori da una rete con banda limitata, conserva l’MSIX su una share UNC per riutilizzarlo.
  2. Esegui il bootstrapper con privilegi elevati (Prompt dei comandi o PowerShell “Esegui come amministratore”): .\TeamsBootstrapper.exe -p -o "C:\Pacchetti\Teams.msix"
    • -p forza il provisioning dell’MSIX (registrazione corretta del pacchetto).
    • -o indica il percorso locale o UNC dell’MSIX, ad es. \\fileserver\Distrib\Teams\Teams.msix.
  3. Verifica esito: il bootstrapper restituisce success a video e chiude senza eccezioni.
  4. Avvia Teams dal menu Start: l’app si apre senza errori e risincronizza team, canali e chat.
  5. Controlla dopo un riavvio: la persistenza dopo reboot conferma una registrazione stabile del pacchetto.

Procedura completa passo‑passo (con diagnosi e remediation approfondite)

Pre‑check rapidi

  • Versione di Windows: assicurati di essere su Windows 10 22H2 (build 19045). In Win+R → winver, oppure: Get-ComputerInfo | Select-Object OsName, OsVersion, WindowsVersion
  • Spazio libero: mantieni almeno 4–6 GB liberi su C:: Get-PSDrive C | Select-Object Used, Free
  • Servizi Appx attivi: Get-Service AppXSVC, ClipSVC | Select-Object Name, Status, StartType Devono essere Running o avviabili su richiesta.

Pulizia sicura dei residui

Prima di reinstallare, elimina ciò che può interferire. Procedi in questo ordine (parti UI, poi CLI).

1) Disinstalla eventuale “Teams Machine‑Wide Installer”

Apri Pannello di controllo → Programmi e funzionalità e rimuovi “Teams Machine‑Wide Installer” se presente. In alternativa (PowerShell Admin):

Get-Package | Where-Object {$_.Name -like "Teams Machine-Wide"} | ForEach-Object {
  Write-Host "Disinstallo: $($_.Name)"
  Start-Process "msiexec.exe" -ArgumentList "/x $($_.FastPackageReference) /qn" -Wait
}

Nota: l’ID di pacchetto MSI varia; il comando sopra tenta la disinstallazione silenziosa. In ambienti gestiti, preferisci lo stesso strumento usato per il deployment (SCCM/Intune) per garantire coerenza.

2) Termina processi Teams e Squirrel

Get-Process teams -ErrorAction SilentlyContinue | Stop-Process -Force
Get-Process squirrel -ErrorAction SilentlyContinue | Stop-Process -Force

3) Elimina cartelle per‑utente (senza toccare WindowsApps)

  • %AppData%\Microsoft\Teams
  • %LocalAppData%\Microsoft\Teams
  • %LocalAppData%\SquirrelTemp
  • %LocalAppData%\Microsoft\TeamsMeetingAddin
$paths = @(
  "$env:APPDATA\Microsoft\Teams",
  "$env:LOCALAPPDATA\Microsoft\Teams",
  "$env:LOCALAPPDATA\SquirrelTemp",
  "$env:LOCALAPPDATA\Microsoft\TeamsMeetingAddin"
)
foreach ($p in $paths) { if (Test-Path $p) { Remove-Item $p -Recurse -Force -ErrorAction SilentlyContinue } }

4) Pulisci chiavi di registro di Teams

Attenzione: la modifica del Registro di sistema va eseguita con cautela. Esegui un punto di ripristino se possibile.

reg.exe delete "HKCU\Software\Microsoft\Office\Teams" /f
reg.exe delete "HKLM\SOFTWARE\Microsoft\Office\Teams" /f

Installazione tramite TeamsBootstrapper + MSIX (metodo consigliato)

  1. Apri Prompt dei comandi come Amministratore.
  2. Esegui: cd /d "C:\Percorso\Installer" .\TeamsBootstrapper.exe -p -o "C:\Percorso\Pacchetti\Teams.msix"
  3. Attendi l’esito success. Se vedi messaggi su provisioning o registrazione pacchetto, è normale.
  4. Avvia Microsoft Teams dallo Start e accedi.

Alternative se il bootstrapper non completa

Se incontri ancora 0x80073cf9 o una negazione di accesso, procedi con uno di questi metodi “low‑level”.

A) Registrazione diretta dell’MSIX (per utente corrente)

Add-AppxPackage -Path "C:\Percorso\Teams.msix" -ForceApplicationShutdown -DisableDevelopmentMode

Se il pacchetto richiede dipendenze, usa -DependencyPath con gli MSIX di supporto presenti nella stessa cartella.

B) Provisioning per tutti gli utenti (online)

Add-AppxProvisionedPackage -Online -PackagePath "C:\Percorso\Teams.msix" -SkipLicense

Questo rende il pacchetto disponibile ai nuovi profili utente creati sul PC.

C) DISM (equivalente amministrativo)

DISM /Online /Add-ProvisionedAppxPackage /PackagePath:"C:\Percorso\Teams.msix" /SkipLicense

Riparazioni della pipeline Appx/MSIX

  1. Verifica/riavvio servizi: # AppX Deployment Service e Client License Service Get-Service AppXSVC, ClipSVC | Restart-Service -PassThru
  2. Controllo file system: sfc /scannow
  3. Ripristino component store: DISM /Online /Cleanup-Image /ScanHealth DISM /Online /Cleanup-Image /RestoreHealth
  4. Cache Appx e Store (non toccare manualmente C:\Program Files\WindowsApps): wsreset.exe

Gestione permessi e interferenze

  • Antivirus/EDR: se i log indicano blocchi, crea una esclusione temporanea per la cartella che contiene TeamsBootstrapper.exe e per il percorso dell’MSIX. Reintroduci poi la protezione completa.
  • Permessi cartelle utente: assicurati che il profilo disponga dei diritti standard su %LOCALAPPDATA% e %APPDATA%. Evita di cambiare ACL su WindowsApps o AppRepository, a meno di precise policy IT.

Checklist di verifica post‑installazione

VerificaCome controllareEsito atteso
Registrazione MSIXGet-AppxPackage Teams | Select Name, PackageFullNamePresenza del pacchetto Teams senza DeploymentError.
Avvio applicazioneStart > Microsoft TeamsLogin riuscito, elenco team visibile entro pochi secondi.
Persistenza al riavvioRiavvia il PCTeams si apre senza reinstallazioni o errori.
Event ViewerApplications and Services Logs > Microsoft > Windows > AppXDeployment‑ServerNessun nuovo errore 0x80073cf9 correlato a Teams.

Dove leggere i log (e cosa cercare)

  • Log Squirrel/Teams (utente):
    • %LocalAppData%\SquirrelTemp\SquirrelSetup.log
    • %LocalAppData%\Microsoft\Teams\logs.txt (o file similari con timestamp)
  • Eventi Appx (sistema): Visualizzatore eventi → Microsoft > Windows > AppXDeployment‑Server.

Filtra rapidamente le negazioni di accesso:

findstr /i /c:"access is denied" "%LocalAppData%\SquirrelTemp\SquirrelSetup.log"

Quando usare l’MSIX offline

  • Reti a bassa banda: l’intero payload è locale, niente download aggiuntivi.
  • Rollout massivo (Intune, script di provisioning): un singolo file semplifica caching, versioning e controlli di integrità.
  • Ambienti bloccati: evita chiamate in rete del bootstrap classico, riducendo collisioni con proxy/AV.

Domande frequenti

Perché “Access is denied” appare solo con alcuni utenti?

Il bootstrapper scrive in percorsi per‑utente e interagisce con chiavi HKCU; profili danneggiati o policy restrittive possono negare accesso. L’esecuzione come Admin con -p e il canale MSIX riducono drasticamente le collisioni.

È sicuro eliminare WindowsApps o modificarne i permessi?

No. Quella cartella è protetta da sistema. Interventi manuali rischiano di corrompere la pipeline MSIX dell’intero sistema. Usa piuttosto SFC/DISM e il provisioning ufficiale.

Cosa significa il codice 0x80073cf9 in pratica?

È un errore generico della pipeline Appx/MSIX (install failed). Non indica necessariamente un file mancante, ma una condizione di registro/permessi/servizi non idonea. La sequenza con TeamsBootstrapper.exe -p -o ripristina una registrazione coerente.

Posso usare winget per reinstallare?

In alcuni ambienti sì, ma se la pipeline Appx è in errore è probabile che fallisca allo stesso modo. In tal caso preferisci l’MSIX offline e il bootstrapper.

Script “tutto‑in‑uno” (amministratore)

Questo script PowerShell automatizza pulizia essenziale e installazione via MSIX. Adatta il percorso a dove hai salvato TeamsBootstrapper.exe e l’MSIX.

# === Parametri ===
$InstallerDir = "C:\Distrib\Teams"
$Bootstrapper = Join-Path $InstallerDir "TeamsBootstrapper.exe"
$MsixPath     = Join-Path $InstallerDir "Teams.msix"

1) Chiudi processi Teams/Squirrel

"Chiudo processi Teams..."
Get-Process teams -ErrorAction SilentlyContinue | Stop-Process -Force
Get-Process squirrel -ErrorAction SilentlyContinue | Stop-Process -Force

2) Rimuovi residui cartelle utente

$paths = @(
"$env:APPDATA\Microsoft\Teams",
"$env:LOCALAPPDATA\Microsoft\Teams",
"$env:LOCALAPPDATA\SquirrelTemp",
"$env:LOCALAPPDATA\Microsoft\TeamsMeetingAddin"
)
foreach ($p in $paths) { if (Test-Path $p) { Remove-Item $p -Recurse -Force -ErrorAction SilentlyContinue } }

3) Pulisci chiavi di registro (HKCU/HKLM)

reg.exe delete "HKCU\Software\Microsoft\Office\Teams" /f | Out-Null
reg.exe delete "HKLM\SOFTWARE\Microsoft\Office\Teams" /f | Out-Null

4) Verifica servizi Appx

"Controllo servizi Appx..."
Get-Service AppXSVC, ClipSVC | ForEach-Object {
if ($.Status -ne "Running") { Start-Service $.Name }
}

5) Installa via bootstrapper + MSIX

if (Test-Path $Bootstrapper -PathType Leaf -and (Test-Path $MsixPath -PathType Leaf)) {
"Avvio bootstrapper..."
Start-Process $Bootstrapper -ArgumentList "-p -o `"$MsixPath`"" -Wait -Verb RunAs
} else {
throw "Percorsi non validi: $Bootstrapper o $MsixPath"
}

6) Esito

"Pacchetto Teams registrato:"
Get-AppxPackage Teams | Select-Object Name, PackageFullName

Best practice per ambienti aziendali

  • Distribuzione controllata: usa l’MSIX come sorgente referenziata da Intune/SCCM, con rilevamento versione e rollback.
  • Temporizzazione AV: pianifica l’installazione in finestre in cui AV/EDR non esegue scansioni heavy‑IO o crea esclusioni temporanee documentate.
  • Logging centralizzato: raccogli SquirrelSetup.log e eventi AppXDeployment‑Server per correlare gli errori.
  • Policy coerenti: evita GPO che limitano l’esecuzione di app MSIX per gli utenti che devono usare Teams.

Risoluzione problemi avanzata (solo se necessario)

  • Reset Store/Installazione app: wsreset.exe
  • Ricostruzione cache licenze (ClipSVC) e riavvio servizi: Get-Service ClipSVC | Restart-Service
  • Utente nuovo di prova: crea un nuovo profilo locale/AD e verifica se l’installazione MSIX funziona su un profilo “pulito”. Se sì, il problema è circoscritto al profilo iniziale.
  • Controllo ACL su profilo: icacls "%LOCALAPPDATA%\Microsoft" /verify Se compaiono errori, ripristina i permessi ereditati dalla cartella utente.

Quando aprire un ticket Microsoft 365

Se dopo i passaggi indicati l’errore persiste, soprattutto in più macchine con la stessa immagine, è sensato aprire un ticket dal Microsoft 365 Admin Center → Supporto → Contatta il supporto. Includi:

  • Versione di Windows (build) e stato dei servizi Appx.
  • Log SquirrelSetup.log e tracce Event Viewer (AppXDeployment‑Server).
  • Esito di DISM /RestoreHealth e sfc /scannow.
  • Comando preciso usato (TeamsBootstrapper.exe -p -o ...) e percorso del pacchetto.

Conclusione

Gli errori 0x80073cf9 e “Access is denied” sono quasi sempre sintomi di una pipeline Appx/MSIX o di permessi non allineati. La reinstallazione pulita usando TeamsBootstrapper.exe con l’opzione -p e un MSIX offline risolve nella grande maggioranza dei casi, ristabilendo una registrazione coerente del pacchetto e riportando Teams alla piena operatività anche dopo i riavvii. Con i controlli e gli script forniti, puoi ottenere una correzione stabile e ripetibile sia su postazioni singole sia in rollout aziendale.


Riepilogo operativo veloce

  1. Rimuovi residui (processi, cartelle, chiavi HKCU/HKLM).
  2. Verifica servizi AppXSVC e ClipSVC.
  3. Esegui .\TeamsBootstrapper.exe -p -o "Percorso\Teams.msix" come Admin.
  4. Avvia Teams e verifica elenco team, poi riavvia il PC.
  5. Se necessario, usa Add-AppxPackage o Add-AppxProvisionedPackage come alternativa.
Indice