Deploying Teamviewer 13 with SCCM and detect difference between host and full

Posted by jdoty
Photon

Deploying Teamviewer 13 with SCCM and detect difference between host and full

We are deploying Teamviewer 13 host to most clients and Teamviewer Full to a select group.  We don't want the Host version installing if the Full version of 12 or 13 is already installed.  I assume the 13 host will not install over 13 full, but how do I detect 12 full as opposed to 12 host.  Basicly we need a detection method for the SCCM deployment.  We looked at the Teamviewer.exe version numbers and they are the same for host and full.  So this is not helping.  Is there a Reg entry that is different?

4 Replies
4 Replies
Posted by Minidou
Henagon

Re: Deploying Teamviewer 13 with SCCM and detect difference between host and full

Hi,

the following registry keys exist only on a full installation:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.tvc
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.tvlink
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.tvs

Hope it will be helpful

regards,

Minidou

Posted by pilgi3
Henagon

Re: Deploying Teamviewer 13 with SCCM and detect difference between host and full

I am working on the same situation.

It's very frustrating because there are so difficult to detect the differences. IMHO that's not enough. I want a Regkey with ther installed Version like "Name = TeamViewer 14 Host or TeamViewer 14". The second way is to fill de ComObject like here: https://community.teamviewer.com/t5/Knowledge-Base/Command-line-parameters/ta-p/34447 

There is the .ApplicationType and this could be a good place. 

Posted by Minidou
Henagon

Re: Deploying Teamviewer 13 with SCCM and detect difference between host and full

Hello,

Try this PowerShell code:

$installedSoftware = Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object {$_.DisplayName -like "*teamviewer*"}

if ($installedSoftware){
if (Select-String -InputObject $installedSoftware.DisplayName -Pattern "Host"){
Write-Host "Host Client Version is installed"
}
else{
Write-Host "Full Client Version is installed"
}
Write-host "installed version is" $installedSoftware.VersionMajor

}
else {
Write-Host "TeamViewer is not installed"
}

Posted by pilgi3
Henagon

Re: Deploying Teamviewer 13 with SCCM and detect difference between host and full

Hello!

Thank you for the script, it works.

I searched further and found another way:


$detecttv = (Get-CimInstance -ClassName win32_installedwin32program | Select-Object -Property Name, Version | Where-Object {$_.Name -match "TeamViewer*"})

The command take a few seconds, but there is no need to check the system architecture before.

With your script it is necessary to check 32-bit or 64-bit and change the regkey path.

There is another way to check the installed TeamViewer:

Get-CimInstance -ClassName win32_product -filter "Name like 'TeamViewer%'"

This works only if the teamviewer was installed through MSI and not EXE.

I think i will send TeamViewer a suggestion.