Important Notice: On February 29th, this community was put into read-only mode. All existing posts will remain but customers are unable to add new posts or comment on existing. Please feel to join our Community Discord for any questions and discussions.

Teams Machine-Wide installer


I need a method of removing any existing Teams Machine-wide Installer's on some 400 devices and deploying the latest Teams version for the current user, and subsequent users.

It seems there isn't a new version of the Teams Machine-wide installer any more? I'm confused what Microsoft / PDQ has done to my environement. The PDQ auto installer has a powershell script that checks for the machine-wide installer and then aborts installation?! Some users have newest Teams installation, others have VERY old version of Teams installation - makes little sense to me why. Anyone experienced in fixing these woes?



Date Votes
  • I had a similar issue in my environment.  Simply deploying the newer version of the Teams Machine-wide Installer would fail because it saw another version already installed.

    What I did for my schedule to update the Teams Machine-wide Installer was to run the the Uninstall Microsoft Teams 1.0 package first and then install the newer Teams package right after that:


    On the Options tab, make sure the Stop deploying to targets once they succeed is NOT checked.

  • OK thanks Mike,

    My problem with this is that the testing I've done so far shows that when you uninstall the Teams Machine-wide Installer (or at least the older versions of it) it kills any users using Teams (e.g. on a teams meeting) - which is not very good for user experience.

    PDQ's auto Package's step 1 checks to see if the Teams Machine-wide Installer exists - and if it does it skips installing it...but it really needs to update to the latest version (or at least a version that works!).

  • What I do is set my schedule to have a couple of triggers:

    One trigger will run in the middle of the night when my users *should* be sleeping.

    The second trigger is set on a heartbeat so that when they first connect to the VPN (100% remote still), their machines get updated before they have a change to hop on a meeting.  Even if your users are not working remote, it will get them after a reboot.

  • Alas, my business has users that could be working at any time of a 24hour period.

    Our heartbeat trigger isn't necessarily that fast at running when a device comes online either. I have some serious head scratching to do here.

  • If you're a 24/7 shop, I'd set the expectation with users that there must be maintenance windows and set your schedules accordingly.  I've been running PDQ stuff for many years and have no issues with the heartbeat.  It may be a sluggish DNS issue that is throwing your heartbeat off.

  • Because heartbeat only triggers when a device goes from offline to online (i.e. if a machine is always online it will never be caught by a heartbeat trigger) I always use heartbeat triggers in combination with some kind of interval trigger.

    For example if you want something to get done pretty quickly a combination of heartbeat + every 15 minutes is pretty fast, although I would be careful about having too many schedules on such an aggressive timetable because it will bog down your PDQ.

  • For Microsoft Teams machine-wide installer I faced that the "internal name" is also Microsoft Teams.
    I ended up in using removal with exact name with winget:
    winget uninstall --exact --name "Teams Machine-Wide Installer" --accept-source-agreements --silent --verbose-logs --log=%APPDATA%\Teams_MWI_uninstall.log > %APPDATA%\Teams_MWI_uninstall.log

  • I've been using this script. It allows an in-place upgrade and is much better suited for what you are looking for without any uninstall. I use the CDN option, but there is a way to download the installer and run directly from a share. Currently it seems to be installing one version back but it's way better than the 1.2 or 1.3 version that was on some systems. Hope this helps.