TeamViewer "Not Solved"

Nfoster
Nfoster Posts: 53 ✭✭

This is becoming a daily frustration. I see a lot of "Solved" post but none reappear to solve the issue.

Mine being that we cannot fully silently install TeamViewer either from the command prompt or via Intune MDM. We have spent countless hours, days, weeks trying to get TeamViewer to silently install. Nothing works. This is ridiculous!!!

How can TeamViewer claim that I will “Save time and money” and/or “Focus on my work” when have spent the past couple of months ripping my hair out trying to get TeamViewer to install! They claim this all works with Active Directory and GPO, even though we use Intune MDM only, I still cannot see how this gets deployed silently and automatically assign to our account. From a manual process using msiexec /i /qn /norestart it is not silent and still it requires that we somehow run the TeamViewer_Assignment.exe commands to assign this to our account. What a mess!

Have fun getting this two commends to not only run silently but in the correct order without wiping your JSON file from existence putting your into a manual uninstall-reinstall routine.

Not everyone using Active Directory and GPO to deploy software.

Comments

  • bartlanz
    bartlanz Posts: 315 ✭✭✭

    Have you reached out to TeamViewer's Support Team? The few times I have, they have been very responsive and helpful. What you are looking for sounds pretty reasonable to me.

    Are you trying to deploy full TeamViewer or just the Host?

    Also, Forgot to add. The Solved issue you pointed out is the Original Poster's (OP) problem. They are marking things solved when they are not yet. I have had this happen when I help people on here a few times. They mark each of my posts back as a solution... Which often they are not. Just steps to getting to one.

    If my post was helpful, Please throw me a Kudos.
    If my post fixed your issue, please mark it as the solution to help the next person find a solution quickly.
    Bart Lanzillotti
  • I'm glad we're not the only ones spending countless hours on this.

    We are also unable to silently install the .MSI via intune MDM. Have not had this issue with other MSIs - just teamviewer.

    Considering Microsoft is focusing on MDM, I would have expected better documentation and support from TeamViewer on this.

     

     

     

     

     

  • Nfoster
    Nfoster Posts: 53 ✭✭

    I am mainly trying to deploy the Host. Currently I have two options which neither is ideal. I will explain. Note, this is strictly on Windows 10 (1703).

    Method 1:

    1. Install TeamViewer during Windows 10 provisioning. I am use the Windows ICD tool to create a provisioning package which I have included the TeamViewer Host install created by our account. The command line is as follows:

    msiexec /i "TeamViewer_Host-idcxxxxxxx.msi" /qn /norestart

    2. Wrap the assignment tool into a MSI, modify, using InstEd the BZ.FIXED_INSTALL_ARGUMENTS under Tables> Property and add our API token command line.

    -apitoken 123456xxxXXxxxxxxXxxXXxx -datafile "C:\Program Files (x86)\TeamViewer\AssignmentData.json"

    3. Deploy the wrapped assignment tool via Intune MDM. When a new Windows 10 device is enrolled the TeamViewer Host will already be installed and Intune will now deploy the assignment tool. This ideal as long as the device has internet access when the provisioning occurs. If not, then the JSON file never gets created and the wrapped assignment tool will fail because it does not see that JSON file. In this Intune will report this as a failed install.

    Method 2:

    Same process as above but the wrapped assignment tool is now part of the provisioning package and installs after the Host install. Intune will identify that the as a successful install.

    In either case this the two above methods work in a prefect world where the internet is always available, but we know that this is now always the case. In fact, knowing this, there is too large of a window for failure. I currently have a 30% success rate. Not good.

    The other issue in either scenario is that I have the TeamViewer Host password protected which I have accomplished by importing the Windows registry settings (Not the TeamViewer Export reg file) from a reference device into the MSI wrapped assignment tool. This does work as long as either the TeamViewer service restarts or the computer reboots after the assignment tool runs. If not, then this leave the TeamViewer Host exposed and potentially open to hackers. I have yet to find a way to get the TeamViewer service to restart after the assignment tool runs. Password protecting prior to the assignment tool fails as the assignment tool needs modify something and the password prevents this.

    There are to many hoops and loops to run through to get TeamViewer to install successfully under almost any scenario unless I am using Active Directory and even then, I do not see how this is even possible. It behoves me that after TeamViewer was hacked in version 10 or 11, I do not recall, that they would leave version 12 so open. I have identified in this post and demonstrated on numerous deployments the large list of vulnerabilities TeamViewer has in this version. Granted they have some crazy encryption but that is worthless is you cannot have a single file installer that ends with a password protected Host.

    As you can see TeamViewer is broken in many area and is far from being nothing more than a glorified consumer product. TeamViewer is not ready for corporate or the enterprise.

  • Nfoster
    Nfoster Posts: 53 ✭✭

    NathanMorris, thank you for your post. I feel your pain. Yes, I have worked with Microsoft support on this to see if I could come up with a better solution. See my repsone in this post as it explains the HUGE mountain that I have to climb with no guarantee that it is even nearly 50% successful.

    TeamViewer needs to understand that not everyone uses Active Directory to deploy software. As a matter of fact I cannot recall the last time that anyone ever did. TeamViewer is very behind the times and they need to step up their game. Microsft has clear vision with software deployment and that is with Intune and MSI is the only solution. Microsoft is not the only one making this move.

    I am starting to reget my investment with TeamViewer. We had plans to purchase at least 10 channels or possibly investing into their Enterprise licening but after nearly three months with no single file, silently, deployalbe solution I highly doubt we will move forward with TeamViewer unless they up their game.

    Also to note that at the time of our purchase they did not offer a Business Trial, but now they do. If this was an option to us then I can asure you they would not have earned our business.

    To the TeamViewer developers, you need to provide a single MSI solution that can be deployed not only by Intune but other deployement methods as well. I am willing to work with you if can give  access to earlier betas on such a solution or if you simply want to test something out.

  • Busser
    Busser Posts: 3 ✭✭

    Same here.

  • dvpain
    dvpain Posts: 1

    Hi,

    I've got it to deploy automatically and silently every time now using this batch file.  I use Autotask Endpoint Manager which deploys it as the local SYSTEM account.

    Enjoy!

    @echo Running %0%
    @echo.
    @echo Uninstalling TeamViewer MSI Wrapper
    wmic product where "name = 'Teamviewer 11 Host (MSI Wrapper)'" call uninstall /nointeractive
    wmic product where "name = 'Teamviewer 12 Host (MSI Wrapper)'" call uninstall /nointeractive
    wmic product where "name = 'Teamviewer 13 Host (MSI Wrapper)'" call uninstall /nointeractive
    @echo -------------------------------------------------------------------

    @echo.
    @echo Uninstalling TeamViewer
    wmic product where "name = 'Teamviewer'" call uninstall /nointeractive
    wmic product where "name = 'Teamviewer Host'" call uninstall /nointeractive
    wmic product where "name = 'Teamviewer 6'" call uninstall /nointeractive
    wmic product where "name = 'Teamviewer 6 Host'" call uninstall /nointeractive
    wmic product where "name = 'Teamviewer 10'" call uninstall /nointeractive
    wmic product where "name = 'Teamviewer 10 Host'" call uninstall /nointeractive
    wmic product where "name = 'Teamviewer 11 Host'" call uninstall /nointeractive
    wmic product where "name = 'Teamviewer 12 Host'" call uninstall /nointeractive
    wmic product where "name = 'Teamviewer 13 Host'" call uninstall /nointeractive
    wmic product where "name = 'Teamviewer 11'" call uninstall /nointeractive
    wmic product where "name = 'Teamviewer 12'" call uninstall /nointeractive
    wmic product where "name = 'Teamviewer 13'" call uninstall /nointeractive
    @echo -------------------------------------------------------------------

    @echo.
    @echo Query whether x86 or x64
    reg query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > NUL && set OS=32BIT || set OS=64BIT
    @echo -------------------------------------------------------------------

    @echo.
    @echo Delete TeamViewer program folder
    if %OS%==32BIT (
    rd "c:\program files\teamviewer" /s /q
    reg delete HKEY_LOCAL_MACHINE\SOFTWARE\TeamViewer /f
    )
    if %OS%==64BIT (
    rd "c:\program files (x86)\teamviewer" /s /q
    reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\TeamViewer /f
    )
    @echo -------------------------------------------------------------------


    @echo .
    msiexec /i TeamViewer_Host-idc{config}.msi /norestart
    @echo Team Viewer Installed Successfully
    @echo -------------------------------------------------------------------

    @echo.
    @echo Waiting for some seconds, to allow TeamViewer some time to start...
    ping google.com -n 45
    @echo -------------------------------------------------------------------

    @echo.
    @echo Taking ownership of the JSON file...
    if %OS%==32BIT (
    dir "C:\Program Files\TeamViewer\AssignmentData.json"
    takeown /F "C:\Program Files\TeamViewer\AssignmentData.json"
    icacls "C:\Program Files\TeamViewer\AssignmentData.json" /c /grant SYSTEM:F
    )
    if %OS%==64BIT (
    dir "C:\Program Files (x86)\TeamViewer\AssignmentData.json"
    takeown /F "C:\Program Files (x86)\TeamViewer\AssignmentData.json"
    icacls "C:\Program Files (x86)\TeamViewer\AssignmentData.json" /c /grant SYSTEM:F
    )
    @echo -------------------------------------------------------------------

    @echo.
    @echo Assigning EasyAccess...
    if %OS%==32BIT (
    TeamViewer_Assignment -apitoken {token} -datafile "c:\Program Files\TeamViewer\AssignmentData.json" -wait=20 -allowEasyAccess=true -devicealias "${USERDOMAIN}\${COMPUTERNAME}"
    )
    if %OS%==64BIT (
    TeamViewer_Assignment -apitoken {token} -datafile "c:\Program Files (x86)\TeamViewer\AssignmentData.json" -wait=20 -allowEasyAccess=true -devicealias "${USERDOMAIN}\${COMPUTERNAME}"
    )
    @echo -------------------------------------------------------------------

    @echo.
    @echo Now adding the ID into User Defined Field 5 in Autotask Endpoint Manager
    if %OS%==32BIT (
    for /f "tokens=3" %%a in ('reg query HKLM\Software\TeamViewer /v ClientID') do (set /a TVID = %%a)
    rem reg add HKEY_LOCAL_MACHINE\SOFTWARE\TeamViewer /v MultiUserSupport /t REG_DWORD /d 0 /f
    )
    if %OS%==64BIT (
    for /f "tokens=3" %%a in ('reg query HKLM\Software\Wow6432Node\TeamViewer /v ClientID') do (set /a TVID = %%a)
    rem reg add HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\TeamViewer /v MultiUserSupport /t REG_DWORD /d 0 /f
    )
    reg add HKEY_LOCAL_MACHINE\SOFTWARE\CentraStage /v Custom5 /t REG_SZ /d %TVID% /f