Unattended installation of TeamViewer

You can use FastTrack to repackage the free or licensed version of TeamViewer (Full or Host) into MSI format for GPO or SCCM deployment without using unreliable snapshots. Or you can deploy without repackaging at all. Read on for details.

You can also use FastTrack's inventory to keep track of TeamViewer IDs on your network.

TeamViewer

Disclaimer

Please note that if you deploy the free version of TeamViewer, you are responsible for checking whether you fulfill the current conditions to use it for your purpose or not.

Repackaging

The first step is to start the EXE-to-MSI wizard (also known as Deployment Package Wizard). Simply start the "EXE to MSI" icon on the Home screen.

Home Screen EXE to MSI Generator

On the second page of the wizard, the type of output package must be selected. Here we must select TeamViewer Full or TeamViewer Host in the list. There are templates for TeamViewer, Avast, AVG, MalwareBytes and Microsoft Security Essentials, but you can repack any type of installation using the top two options, which is explained further down this page. The templates options are basically just expanded versions of the generic EXE-to-MSI, which is the first option in the list.

The current setup file for the full version (Viewer and Host) must be downloaded from the front page of www.teamviewer.com and placed in the working directory that you specify as the setup file directory. The wizard will look for a file starting with "TeamViewer_Setup" in this directory, as the setup file is by default named this and may be appended by a language string.

If you need to repackage the Host-only version, you can download the setup file here. For host-only, the wizard will look for a file starting with "TeamViewer_Host" in the working directory.

TeamViewer MSI package

Convert to MSI or not?

At this point you need to decide, how to deploy TeamViewer. You have two options. One is to continue the wizard and you end up with an MSI file. The other options is to use the checkmark at the bottom.

Saving script for unattended deployment

FastTrack Automation Studio can actually deploy software without a central management system. If you tick the checkmark, the wizard will save the generated script files instead in the folder, where you have the TeamViewer setup file. Then you can click the "Software Deploy" icon in the Home Screen and simply point to the script file instead using the "Add FSH" button shown in the screenshot below. Refer to this page for more information on automated software deployments.

Software Deployment Install Page

Keeping track of TeamViewer IDs using SkyBox

Once you have deployed TeamViewer to a number of computers, you need to know which computer has which TeamViewer ID. The best way to do that is to set up a logon script and simply include the cloud inventory option. It literally takes minutes to set up a graphical logon script to replace your old one without writing any code - it's pure point'n'click to connect shares, printers, install an Outlook signature, etc. Please refer to the Logon Scripts Page for more information. Be sure to tick "Take hardware and software inventory to the cloud". TeamViewer IDs collection is a part of the standard inventory collection for SkyBox. This is the Logon Script Builder:

TeamViewer ID Inventory

You can also use the same inventory option on the General tab in the Software Deployment wizard, if you used the deployment option explained in the previous section, as shown here. Once you have your logon script set up, the free your cloud inventory that comes with your license, will automatically include TeamViewer IDs.

TeamViewer Inventory

Including license key, password and other settings (optional)

You can include an optional TeamViewer settings registry file. If you do not do this, you will be using the free version. To create a reg file with settings and/or a license key, open TeamViewer on a reference computer and select Options in the Extras menu. Under Advanced, select "Export options to a *.reg file"

TeamViewer settings export

If you need to deploy a TeamViewer license, make sure to check "Export license key", as shown below. Once the options *.reg file is saved to disk, close TeamViewer and go back to the wizard and enter the newly exported file in the "Settings file (optional)" textbox.

TeamViewer settings export

If you are repackaging the host-only version, it works the same way, except that there are fewer options. The options windows is opened by clicking the gear icon, as shown below.

TeamViewer settings export

Launch conditions

Clicking next in the wizard will show launch conditions, which allows you to not install TeamViewer under certain conditions. This means that you can deploy the package to an entire OU or container in your Active Directory with Group Policies and avoid having it install on for example servers and virtual machines. If you used the Software Deployment Wizard option instead of MSI repackage, the last pages do not show up and you can then use the same launch conditions in the Software Deployment Wizard.

TeamViewer MSI package

The first page lets you block on hardware and operating system. The second launch condition page lets you block based on Active Directory information:

Active Directory launch conditions in an MSI file

To understand how launch conditions can actually work with Group Policies, we have to look at what the wizard does. There are generally four scenarios with FastTrack Automation Studio to create MSI files, as shown below. What we are doing here is using the option to the left. The MSI that wraps around the TeamViewer setup file is always installed, but it does not do anything other than register as an program in the Windows programs list, if it hits a launch condition blocking. This means that from the point view of Group Policies or SCCM, the installation is always successful and will therefore never try to resend the MSI file. This is why there was also an option on the first page to use a setup MSI file inside the controller MSI, because then you can let the controller MSI always install, but only install the setup MSI on certain conditions, essentially allowing you to deploy all your software to all computers using Group Policies.

MSI types

Clicking next in the wizard after launch conditions will ask you for name of the output MSI file. This is the controller MSI file that contains the TeamViewer installer. On success, the complete page is shown. Notice how it displays a script that you can open in the Script Editor and edit. Essentially the wizard does nothing more than compiling this script and your TeamViewer setup file an MSI file. If you are not happy with the installation script or your need to expand it with, say licensing information, you can just open and edit the template script in the Script Editor and save it to the same folder as the TeamViewer setup file. You are now using the third box in the drawing above, where you build your own custom MSI package. This is explain in a more detail at the bottom. Note that if you used launch conditions, you will notice that conditions were inserted at the top of the script, which is why it is a good idea to let the wizard create a template script, in case you need to extend or modify the functionality.

TeamViewer MSI package

That's it! You now have an MSI file that will install TeamViewer unattended, which you can now assign as a software installation to Group Policy. As a general advice for Group Policy MSI deployment, you should check the uninstall option, to make sure that your MSI file will uninstall on all machines, if you remove the GPO MSI package.

If you are using a trial version of FastTrack Automation Studio, the package will only deploy to 5 computers, as this is what the trial edition allows - the rest will behave similar to launch conditions, where the setup exe is not executed. Similar articles exist for Avast, MalwareBytes, AVG and Microsoft Security Essentials.

Expanding the script

If you need to modify or expand the script generated by the wizard, you must check the "Create a new script using the above template" on the last page of the wizard and save it to the same folder as your TeamViewer setup exe file. Once you have modified the script to your needs, you must use the "Compile to MSI" option in the top menu.

Creating MSI file from project

The MSI generation wizard will open, as shown below. Please make sure that:
  • You check "Include additional files from my project folder inside the MSI file".
  • You check "Defer installation".
  • When you get to the page to select additional files inside the MSI file, make sure to check your TeamViewer setup exe file.
  • If you exported TeamViewer options, make sure you include the two reg files that the wizard created in your setup folder.
Malwarebytes MSI installation properties




Keeping track of TeamViewer IDs using SkyBox (alternative)

As explained further up this page, you can set up a graphical logon script to collect your TeamViewer IDs. If you do not wish to do that, you can collected the inventory data as part of the MSI deployment. This will however only collect the TeamViewer ID on the computers you install the MSI package on, it will obviously not work from computers, where TeamViewer is installed manually. If we go back to the wizard, there was a checkmark named SkyBox (SkyBox is the cloud-based version):

TeamViewer ID Inventory

If you click this, inventory data is collected after installation, including the TeamViewer ID. Once you take inventory, you can simply click "Inventory" in the Home Screen and select "Access My Cloud Inventory" in the drop-down. You are now taken to your account at SkyBox, where you can look up your computers. On the detail page of a computer, you will find the TeamViewer ID, as shown below. If you need to do on-site service for clients and/or servers, you can print the QR barcode and attach to the server. Then you can scan the barcode with a cell phone and get the inventory page for that server. For a description of taking inventory by other means than an MSI package, refer to the SkyBox page.

TeamViewer Inventory

Keeping track of TeamViewer IDs using a central XML file

Another approach is to use a central XML file, which gives you the advantage to be able to make a small utility for yourself that will automatically convert an internal computer name to the TeamViewer ID and start a session. The key to do it is to use the TeamViewerID function in FastTrack, which returns the TeamViewer ID on the local machine. One way to do it is to expand the MSI package script (see further up) and simply log it to a central file on install. This line added to the script after install will write the TeamViewer to one central XML file:

WriteXMLValue \\AcmeServer\data$\TeamViewerIDs.xml,Clients/[ComputerName],[TeamViewerID]

The XML file is assumed to be located on a share named data$ on a server named AcmeServer and the WriteXMLValue command will overwrite any existing value that might exist. A better approach, however, is to build a standard TeamViewer package and then collect TeamViewer IDs in a FastTrack Logon Script. You can just include the above script line anywhere in the logon script. This will give you the advantage of getting all TeamViewer IDs for all computers on the network, not only the ones repackaged by FastTrack.

Converting computer name to IDs automatically

Once you have a central XML file in place, you can write a small converter script for yourself. All we have to do is to look up a computer in the XML file and use that to start TeamViewer. This simple script asks you for a computer name and starts TeamViewer using the ID from the XML file and it assumes that the remote password for all computers is "1234". You can leave out the last parameter with the password to have TeamViewer ask for password instead.

Set Computer = [Input Computer name?]

LaunchTeamViewer [XMLValue \\AcmeServer\data$\TeamViewerIDs.xml,Clients/[Var Computer]],[EncryptPassword 1234]

TeamViewer UI


Rating: 5 out of 5

"Use this as a replacement for VBScript and PowerShell"

"It's easy to include attractive GUI elements in FastTrack scripts, beyond the basic dialog boxes and text input that VBScript offers ... Another powerful feature is the ability to distribute scripts as Windows Installer (.msi) or standard .exe files. Although interesting in its own right, this ability results in a much more intriguing capability: to repackage -- or wrap -- software installers as .msi files without using snapshots. If you've ever created an .msi installer file from before-and-after system snapshots, for use with a software distribution system such as Group Policy or SCCM, then you know how hit-and-miss the results can be."

Read full review


Rating: 8 out of 10

"Faster than the rest"

"We found the FastTrack syntax to be more transparent and easier to learn than Microsoft's PowerShell – the editor in particular provided good support in this regard. the Script Editor offers a large number of options from the command set through to simple output of graphical elements, which cannot be achieved at all with PowerShell or other solutions or only with a significantly greater level of effort."

"Anyone wanting to tackle the many hurdles in everyday admin and especially anyone for whom logon scripts and client automation is a priority will benefit from the variety of functions offered by FastTrack."

Review in English      Review in German