Se o Microsoft Teams Desktop não instala no Windows 11 e o log do Squirrel dispara DirectoryNotFoundException, este guia explica a causa provável e reúne correções práticas para ambientes domésticos e corporativos, com passos reproduzíveis, scripts e checklist de diagnóstico.
Contexto e escopo
Este artigo cobre falhas de instalação do Microsoft Teams Desktop no Windows 11 Pro 23H2 (build 22631) em equipamentos ingressados em domínio AD (ex.: CPU i7‑10700, 16 GB RAM) com .NET 4.8 presente. O problema ocorre tanto pela Microsoft Store quanto pelo instalador .exe, logo após o download.
Há dois “sabores” do cliente no Windows:
- Teams clássico (1.x): pacote baseado em Electron, instalador Squirrel por usuário, grava em
%AppData%
. - Novo Teams (v2): arquitetura mais moderna, distribuição pela Store/Winget e cenários corporativos via implantação gerenciada (Intune, políticas, instaladores corporativos). Em muitos ambientes, o bootstrapper inicial ainda interage com componentes herdados.
Sintomas observados
- A instalação finaliza com erro imediatamente após o download, sem abrir a interface do cliente.
- Os logs do Squirrel evidenciam exceções do tipo
DirectoryNotFoundException
ao tentar criar/abrirC:\Users<user>\AppData\Roaming\Microsoft\Teams\SquirrelTelemetry.log
. - Mensagens subsequentes como “Application not found” indicam que o bootstrapper não conseguiu chamar o executável extraído.
- As tentativas já realizadas — inicialização limpa, desativar antivírus, remover pastas de
%AppData%\Microsoft\Teams
, executar como administrador, reinstalar após updates e até novo perfil local — não resolveram.
Por que isso acontece
Em instalações baseadas em Squirrel, o instalador registra telemetria e prepara a estrutura antes de finalizar a extração do aplicativo. Se a pasta %AppData%\Microsoft\Teams
foi excluída ou tem ACLs incorretas, ou se alguma política/antivírus impede gravações em %AppData%
ou em pastas temporárias (ex.: %LocalAppData%\SquirrelTemp
), o Squirrel não recria a árvore no momento esperado e lança DirectoryNotFoundException
. Daí, a cadeia se quebra: nada é lançado, e surge “Application not found”.
Outras causas que agravam o cenário:
- Redirecionamento de pastas/roaming movendo
AppData\Roaming
para um caminho UNC; em desconexão, a criação falha. - Proteção contra ransomware (Controlled Folder Access) limitando gravações em
%AppData%
. - Microsoft Store/App Installer corrompidos ou com políticas restritivas.
- Runtime ausente/antigo necessário ao cliente (ex.: WebView2 no novo Teams), o que impede a conclusão de passos subsequentes.
O que já foi testado
- Inicialização limpa, desativação do antivírus, remoção de
%AppData%\Microsoft\Teams
, execução como administrador, reinstalação após updates, novo perfil local: sem sucesso. - Instalador “antigo” direto (CDN registrada nos logs): instala o Teams clássico (1.x) e permite uso imediato; ao alternar para o novo Teams (v2) aparece “Something went wrong. Contact IT.” — work‑around aceitável para continuar trabalhando.
- Políticas de Grupo em App Package Deployment definidas como Not Configured: não resolveram por si só.
Fluxo rápido de decisão
Se precisa de continuidade operacional agora:
- Instale o Teams clássico (1.x) a partir do instalador legado (URL de CDN obtida nos logs — evite publicar externamente a URL). Para muitos casos, isso restaura o serviço no mesmo dia.
- Para novo Teams (v2), priorize implantação gerenciada (Intune/linha corporativa) ou teste com Winget para isolar se o problema é do .exe/Squirrel ou da Store/App Installer:
winget install --id Microsoft.Teams -e
- Em ambientes AD, avalie o instalador corporativo (MSI machine‑wide) para instalação por máquina, evitando a fragilidade do per‑user/roaming.
Soluções e alternativas testadas
Proposta | Resultado / Observações |
---|---|
Baixar o instalador legado diretamente (URL de CDN obtida nos logs) | ✅ Instala o Teams clássico (1.x). Ao alternar para o novo Teams (v2), surge “Something went wrong. Contact IT.” — aceitável como work‑around imediato. |
Verificar Políticas de Grupo (Local Group Policy) Computer Configuration > Administrative Templates > Windows Components > App Package Deployment • Prevent non‑admin users from installing packaged Windows apps • Allow all trusted apps to install → Not Configured | Políticas estavam corretas; não resolveu. |
“Desbloquear” o instalador nas Propriedades do arquivo | Não havia a opção Unblock; sem efeito. |
Criar novo perfil de usuário local | Falhou do mesmo modo; sugere raiz fora do perfil. |
Remover completamente antivírus/endpoint security | Pendente de confirmação: soluções de segurança costumam bloquear processos temporários do Squirrel. |
Resetar/atualizar Microsoft Store (wsreset, reparo) | Em investigação; corrupção na Store/App Installer pode reproduzir sintomas idênticos. |
Reinstalação limpa do sistema | Último recurso; o objetivo é mitigar sem formatar. |
Checklist de diagnóstico
Recriar pastas críticas e normalizar ACLs
Crie manualmente a estrutura esperada pelo Squirrel e garanta herança padrão no NTFS:
$paths = @(
"$env:APPDATA\Microsoft\Teams",
"$env:LOCALAPPDATA\SquirrelTemp"
)
foreach ($p in $paths) { New-Item -ItemType Directory -Force -Path $p | Out-Null }
icacls "$env:APPDATA\Microsoft\Teams" /inheritance:e | Out-Null
icacls "$env:LOCALAPPDATA\SquirrelTemp" /inheritance:e | Out-Null
Executar o instalador com log detalhado do Squirrel
Guarde evidências precisas do ponto de falha:
New-Item -ItemType Directory -Force -Path C:\Temp | Out-Null
.\MSTeamsSetup.exe -squirrelLog "C:\Temp\TeamsInstall.log"
Alternativa: direcionar a pasta temporária do Squirrel
$env:SQUIRREL_TEMP = "$env:LOCALAPPDATA\SquirrelTemp"
.\MSTeamsSetup.exe
Verificar políticas de pacotes e do App Installer
Além de App Package Deployment, confirme políticas do App Installer e da Store:
- Computer Configuration > Administrative Templates > Windows Components > App Installer: “Enable App Installer” → Enabled ou Not Configured.
- Computer Configuration > Administrative Templates > Windows Components > Store: “Turn off the Store application” → Disabled ou Not Configured.
- Gere um relatório consolidado:
gpresult /h C:\Temp\gp.html & start C:\Temp\gp.html
Checar redirecionamento de AppData
Perfis com AppData\Roaming
em UNC podem causar falhas de criação:
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v AppData
Se retornar um caminho de rede (\\servidor\...
), teste em uma conta sem redirecionamento ou conecte a rede/VPN antes da instalação. Em último caso, alinhe a política de redirecionamento com a TI para permitir instalação local.
Validar Controlled Folder Access e histórico de proteção
Confira se o Defender está bloqueando gravações em %AppData%
:
Get-MpPreference | Select-Object EnableControlledFolderAccess, AttackSurfaceReductionOnlyExclusions, ControlledFolderAccessAllowedApplications
Para um teste temporário, mude para auditoria (reverter ao final):
Set-MpPreference -EnableControlledFolderAccess AuditMode
Observação: em ambientes corporativos, faça isso via política/Change Request. Após o teste, volte ao estado anterior:
# 0 = Off, 1 = On, 2 = AuditMode
Set-MpPreference -EnableControlledFolderAccess 1
Restaurar componentes da Store e do App Installer
Erros na Store ou no App Installer resultam em falhas após o download.
# Limpeza de cache da Store
wsreset.exe
Verificar e atualizar o App Installer
winget list "App Installer"
winget upgrade --id Microsoft.DesktopAppInstaller -e
Conferir WebView2
Para o novo Teams, garanta o runtime do Microsoft Edge WebView2:
winget list "Microsoft Edge WebView2 Runtime"
winget install --id Microsoft.EdgeWebView2Runtime -e
Analisar logs de implantação
- Squirrel:
%LocalAppData%\SquirrelTemp\SquirrelSetup.log
e o caminho que você passou via-squirrelLog
. - Event Viewer:
- Applications and Services Logs > Microsoft > Windows > AppXDeployment‑Server > Operational
- Applications and Services Logs > Microsoft > Windows > AppInstaller > Operational
- Windows Defender > Operational (para bloqueios CFA/ASR)
Procedimentos de correção recomendados
Evitar a exclusão prematura de %AppData%\Microsoft\Teams
Se você removeu essa pasta, recrie‑a antes de reinstalar (veja o script de ACL acima). O instalador pode depender dela para a telemetria inicial.
Instalação corporativa por máquina (MSI machine‑wide)
Quando disponível no portal do Microsoft 365, utilize o Teams Machine‑Wide Installer para instalar em Program Files
com contexto de máquina. Em domínios AD, isso reduz atrito com Squirrel e simplifica a governança por GPO/Intune. Diretrizes:
- Desinstale tentativas anteriores por usuário antes da instalação machine‑wide.
- Distribua via GPO/Intune/SCCM com logs MSI detalhados (
MSIEXEC /i ... /L*v C:\Temp\TeamsMSI.log
).
Teste com Winget para isolar a causa
Se o .exe falha, mas a Store/App Installer está íntegra, o Winget costuma funcionar:
winget source update
winget install --id Microsoft.Teams -e --verbose-logs
Se o Winget também falhar, direcione a investigação para políticas/Store/App Installer.
Mitigar interferência de antivírus/EDR
Como teste controlado, crie exceções temporárias para os diretórios de extração e execução do instalador:
%LocalAppData%\SquirrelTemp
,%AppData%\Microsoft\Teams
,%LocalAppData%\Microsoft\Teams
.
Em soluções corporativas, registre um Change Request e limite a duração do teste. Se confirmado, substitua exceções amplas por regras de hash/assinatura do editor.
Reparo da Store (modo gráfico)
- Configurações > Aplicativos > Aplicativos instalados > Microsoft Store > Opções avançadas > Reparar > Redefinir.
- Repita o mesmo para App Installer caso listado.
Quando o novo Teams quebra após instalar o clássico
Se o clássico funciona e o erro ocorre ao alternar para o novo, foque em:
- App Installer/Store e políticas correspondentes.
- WebView2 Runtime e permissões em
%LocalAppData%
. - Logs do AppXDeployment‑Server para códigos de erro de MSIX (0x80073CFx, 0x80073Dxx).
Scripts úteis prontos para copiar
Verificador de pré‑requisitos e ambiente
function Test-TeamsPrereqs {
Write-Host "== Pastas e ACLs =="
$paths = @("$env:APPDATA\Microsoft\Teams", "$env:LOCALAPPDATA\SquirrelTemp")
foreach ($p in $paths) {
if (-not (Test-Path $p)) { Write-Warning "Ausente: $p" } else { icacls $p | Out-Host }
}
Write-Host "== App Installer e Store =="
winget list "App Installer"
winget list "Microsoft Store" 2>$null
Write-Host "== WebView2 =="
winget list "Microsoft Edge WebView2 Runtime"
Write-Host "== GPO resumo =="
gpresult /r /scope computer
Write-Host "== Defender CFA =="
Get-MpPreference | Select EnableControlledFolderAccess | Format-List
}
Test-TeamsPrereqs
Criação de pastas e instalação silenciosa com log do Squirrel
New-Item -ItemType Directory -Force -Path "$env:APPDATA\Microsoft\Teams","$env:LOCALAPPDATA\SquirrelTemp","C:\Temp" | Out-Null
icacls "$env:APPDATA\Microsoft\Teams" /inheritance:e | Out-Null
$env:SQUIRREL_TEMP = "$env:LOCALAPPDATA\SquirrelTemp"
Start-Process -FilePath ".\MSTeamsSetup.exe" -ArgumentList '-squirrelLog "C:\Temp\TeamsInstall.log"' -Wait -Verb RunAs
Instalação via Winget com logs verbosos
winget source update
winget install --id Microsoft.Teams -e --disable-interactivity --accept-package-agreements --accept-source-agreements --verbose-logs
Coleta de logs para suporte
$collect = "C:\Temp\TeamsLogs"; New-Item -Force -ItemType Directory -Path $collect | Out-Null
Copy-Item -Force "$env:LOCALAPPDATA\SquirrelTemp\*" $collect -Recurse -ErrorAction SilentlyContinue
Copy-Item -Force "C:\Temp\TeamsInstall.log" $collect -ErrorAction SilentlyContinue
wevtutil epl Microsoft-Windows-AppXDeploymentServer/Operational "$collect\AppXDeployment.evtx"
wevtutil epl Microsoft-Windows-AppInstaller/Operational "$collect\AppInstaller.evtx"
Compress-Archive -Path "$collect\*" -DestinationPath "C:\Temp\Teams_Diag.zip" -Force
Write-Host "Pacote de diagnóstico: C:\Temp\Teams_Diag.zip"
Erros comuns e como resolver
Erro | Causa provável | Correção |
---|---|---|
DirectoryNotFoundException referindo SquirrelTelemetry.log | Pasta do Teams em %AppData% não existe ou ACLs quebradas | Recriar %AppData%\Microsoft\Teams e normalizar ACLs; rodar instalador com -squirrelLog |
“Application not found” ao final do instalador | Falha ao disparar o executável extraído (bloqueio por AV/política ou extração incompleta) | Exceção no AV/EDR para SquirrelTemp , revisar AppXDeployment‑Server, testar Winget/MSI |
Falha apenas pela Store | Cache/serviço da Store corrompidos | wsreset.exe e “Reparar/Redefinir” a Store; atualizar App Installer |
Erro ao alternar para o novo Teams | App Installer/Store, WebView2, políticas do pacote | Reparar Store/App Installer, instalar/atualizar WebView2, analisar eventos de AppX |
Falha em perfil novo | Restrição sistêmica (GPO/EDR/Store) | Rever políticas, usar MSI machine‑wide, validar em imagem limpa |
Boas práticas para ambientes gerenciados
- Padronizar a implantação por máquina quando possível; per‑user é sensível a ACLs e roaming.
- Manter App Installer e WebView2 na baseline de software.
- Configurar exceções mínimas e específicas no EDR para diretórios temporários de instalação.
- Evitar scripts que excluem
%AppData%\Microsoft\Teams
sem recriar a estrutura (especialmente em correções automatizadas). - Registrar telemetria e logs em cada tentativa para acelerar análise (Squirrel, AppX e Defender).
Perguntas frequentes
Preciso ser administrador para instalar? Para per‑user, normalmente não; porém políticas corporativas e o App Installer podem exigir privilégios. O MSI por máquina requer elevação e governança de TI.
Posso desativar o Defender para instalar? Evite. Prefira AuditMode no CFA e exceções temporárias apenas durante o teste, com aprovação formal.
A reinstalação do Windows resolve? Quase sempre, mas é custosa. Execute antes as correções de Store/App Installer, Winget, MSI e políticas.
Conclusão
O caminho mais curto para retomar o serviço é instalar o Teams clássico (1.x) e, em paralelo, corrigir a causa‑raiz: pasta do Teams/ACLs, políticas de pacotes e Store/App Installer. Em ambientes gerenciados, a adoção do MSI machine‑wide e a validação de WebView2 estabilizam a migração para o novo Teams (v2). Se, após os testes com Winget, MSI e ajustes de políticas, a falha persistir, compacte os logs coletados e encaminhe ao suporte do Microsoft 365 com os event IDs do AppX, o TeamsInstall.log
do Squirrel e o relatório de GPO (gp.html
). Isso encurta muito o tempo de resolução.
Resumo acionável
- Recrie
%AppData%\Microsoft\Teams
e%LocalAppData%\SquirrelTemp
com herança ligada. - Execute o instalador com
-squirrelLog
e coleteSquirrelSetup.log
. - Repare a Store (
wsreset
) e atualize o App Installer e o WebView2. - Valide GPOs de App Package Deployment/App Installer; gere
gp.html
. - Teste com
winget install Microsoft.Teams -e
. Se falhar, tente MSI machine‑wide. - Se um EDR estiver ativo, realize teste controlado com exceções temporárias e reverta.