Posted by jdoty
Henagon

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.