Troubleshoot Microsoft Teams installation issues on Windows

Troubleshoot Microsoft Teams installation issues on Windows

Troubleshoot installation and update issues

Troubleshoot installation issues

When Teams is installed, the Teams installer logs the sequence of events to %LocalAppData%\SquirrelTemp\SquirrelSetup.log. The first thing to look for is an error message or a call stack near the end of the log. Note that call stacks at the beginning of the log may not mean that an installation issue exists. It can be easier to compare your log against the log from a successful installation (even on another machine) to see what's expected.

If SquirrelSetup.log doesn't indicate the cause or if you need more information to troubleshoot the issue, see Collect and analyze application and system logs.

Troubleshoot update issues

When Teams is successfully installed, the log location switches from %LocalAppData%\SquirrelTemp to %LocalAppData%\Microsoft\Teams. At this location, there are two log files of interest, SquirrelSetup.log and logs.txt.

  • The SquirrelSetup.log file at this location is written by Update.exe, which is an executable that services the Teams app.
  • The Logs.txt file is used by the Teams app (specifically Teams.exe) to record significant application events. It will likely contain failure information.

These log files contain personally identifiable information (PII) and so they're not sent to Microsoft.

Teams can automatically start the update process (depending on the policy) or users can manually check for updates by going to their profile picture > Check for updates. Both methods use the following sequence of events.

  1. Check for updates. Teams makes a web request and includes the current app version and deployment ring information. The goal of this step is to get the download link. A failure at this step is logged in Logs.txt.
  2. Download update. Teams downloads the update by using the download link obtained from step 1. When the download is complete, Teams calls Update.exe to stage the download. A download failure is also logged in Logs.txt.
  3. Stage the update. The downloaded content is verified and unpacked into an intermediate folder, %LocalAppData%\Microsoft\Teams\stage), which is done by Update.exe. Failures at this step are logged in SquirrelTemp.log.
  4. Install the update. There are multiple ways to start Teams. The system automatically starts Teams when a user logs in or you can start Teams through a shortcut. In this step, Update.exe checks for the presence of the staging folder, verifies the content again, and performs file operations to un-stage the app. The old application folder in %LocalAppData%\Microsoft\Teams\current is backed up to %LocalAppData%\Microsoft\Teams\previous and the stage folder is renamed to "current". Failures at this step are logged in SquirrelTemp.log.

If SquirrelTemp.log or Logs.txt don't contain sufficient information to determine the underlying cause and you need more information to troubleshoot the issue, go to Collect and analyze application and system logs.

Collect and analyze application and system logs

This section describes how to collect and analyze application and system logs to get more comprehensive information to troubleshoot the issue. You'll use Sysinternals tools to complete these steps. To learn more, see Windows Sysinternals.

Collect logs

  1. Download the Sysinternals tools.

  2. Extract the zip file to the %TEMP% folder on your local drive.

  3. Open an elevated command prompt, and then do the following:

    1. Run the following to go to your TEMP folder:

      Console
      cd /d %TEMP%
      
    2. Copy the setup and application logs. Note that depending on the point of failure, some of these logs may not be present.

      Console
      copy %LocalAppData%\SquirrelTemp\SquirrelSetup.log SquirrelSetup.log
      copy %AppData%\Microsoft\Teams\logs.txt logs.txt
      copy %LocalAppData%\Microsoft\Teams\SquirrelSetup.log SquirrelSetup_Teams.log
      
    3. Run the following to capture the open handles.

      Console
      handle > handles.txt
      
    4. Run the following to capture the opened DLLs.

      Console
      listdlls -v Teams > dlls.txt
      
    5. Run the following to capture the drivers that are running.

      Console
      driverquery /v > driverquery.txt
      
    6. Run the following to capture the access control lists (ACLs) of the Teams folder.

      Console
      icacls %LOCALAPPDATA%\Microsoft\Teams /save icacls.txt /T
      

Analyze logs (for advanced users)

A failed update can result in unpredictable app behavior. For example, users may be unable to exit Teams, have a stale version of Teams, or can't start Teams. If you experience an issue during an update, the first place to look to find the cause is SquirrelTemp.log. Here are the different types of update failures, listed from most common to least common, and how to analyze and troubleshoot them using logs.

Unable to exit Teams

As Teams determines that it needs to update itself to a newer version, it downloads and stages the new app, and then waits for an opportunity to restart itself the next time the machine is idle. A common issue during this process is when another process or a file system driver locks up the Teams.exe process, which prevents Teams.exe from exiting. As a result, the Teams app can't be replaced by the newly-downloaded and staged app.

Troubleshooting tips:

  • To confirm that is the issue that you're experiencing, quit Teams (right-click Teams on the task bar, and then click Quit). Then, open Task Manager in Windows to see whether an instance of Teams is still running.
  • If you’re not on the computer that's having this issue, inspect the SquirrelTemp.log collected from the computer that's experiencing this issue and look for a "Program: Unable to terminate the process in the log" entry.
  • To determine what's preventing Teams.exe from exiting, look at the Dlls.txt and Handles.txt logs. These tell you the processes that prevented Teams from exiting.
  • Another culprit that can prevent Teams from exiting is the kernel-mode file system filter driver. Use the SysInternals tool, ProcDump, to collect the kernel-mode process dump by running procdump -mk <pid>, where is the process ID obtained from Task Manager. You can also inspect the Driverquery.txt log file to see the active filter drivers that may interfere with Teams.
  • To recover from this state, restart the computer.

File permissions

Teams creates a number of subfolders and files in the user's profile throughout the installation and update process. Because the app and the updater runs as a non-elevated user, read and write permissions must be granted on the following folders:

FILE PERMISSIONS
FolderUsed by
%LocalAppData%\SquirrelTempTeams installer (for example, Teams_Windows_x64.exe) during installation phase
%LocalAppData%\Microsoft\TeamsTeams updater (Update.exe) to extract and stage the app package during update process
%AppData%\Microsoft\TeamsTeams app (Teams.exe) to save settings, app states, and the (pre-staged) downloaded update package

If Teams is denied access because it can't write to a file, another software application may be interfering or a security descriptor entry may be limiting write access to a folder.

Troubleshooting tips:

  • Look for "access denied" evidence in SquirrelTemp.log or Logs.txt. Check these files to see whether there was an attempt to write to a file that failed.
  • Open Icacls.txt and look for the effective access control entry (ACE) that blocks write operations by a user who is not an admin. Typically, this is in one of the DACL entries. For more information, see the icacls documentation.

File corrupted

In some cases, encryption software can change files in the %LocalAppData%\Microsoft\Teams folder, which can prevent Teams from starting. This can happen at any time, even when the app isn't being updated. Unfortunately, when a file is corrupted, the only way to recover from this state is to uninstall and re-install Teams.

 Note

If you can't determine the underlying cause of the issue by using any of these steps, you may want to try a Process Monitor session. Process Monitor is a Sysinternals tool that records access to the registry and file system.


    • Related Articles

    • Microsoft Teams is stuck in a login loop in Edge, Internet Explorer or Google Chrome

      Symptoms When you try to sign in to Microsoft Teams in Microsoft Edge, Internet Explorer or Google Chrome, the site continually loops, and you can never sign in. Cause This issue occurs if your organization uses Trusted Sites in Internet Explorer and ...
    • Microsoft Teams Channel notifications settings can't be managed

      Symptoms After selecting the option Reset to Default in the Channel notification setting of Microsoft Teams, the Channel notification settings don't reflect changes made in the User notification settings. Status Microsoft is researching this problem ...
    • Attendee maximum for meetings capped at 250

      Symptoms You set up a Microsoft Teams meeting for a large group of people, but find it only allows a maximum of 250 attendees. Resolution Create the meeting using live events in Teams, which can host up to 10,000 users.
    • Start and pin chats

      Start a chat In Chats, you can have 1:1 or group chats with people. Select New chat  . Type the name of the person or people you want to contact. Select the down arrow to add a name to your chat group. Make video and audio calls from a chat ...
    • Create a document in Word

      With Word on your PC, Mac, or mobile device, you can: Create documents from scratch, or a template. Add text, images, art, and videos. Research a topic and find credible sources. Access your documents from a computer, tablet, or phone with OneDrive. ...