Deployment guide

This chapter describes how to deploy think-cell in a larger organization. If you want to install a personal copy of think-cell on your computer, please refer to Installation and update.

Workstation prerequisites
Initial installation
Notification about license key expiration
Online quality assurance

A1 Workstation prerequisites

To install and run think-cell, the following software must be installed:

  • Microsoft Windows Vista, 7, 8, 8.1 or 10
  • Microsoft Office 2007 SP1, 2010, 2013 or 2016 with at least the following components:
    • Microsoft Office Excel
    • Microsoft Office PowerPoint
    • Visual Basic for Applications (from Office Shared Features)
    • Microsoft Graph (from Office Tools)

The installation of think-cell requires about 80 MB of disk space.

A2 Initial installation

The think-cell installation files, setup_*.msi and setup_*.exe, understand the same parameters as Windows’ msiexec command, though not all combinations are recommended and supported. Note that there is only one installer and think-cell will use 32-bit or 64-bit as needed. Use the setup_*.exe if users shall install think-cell by double-clicking the setup file.

Use the following approaches for scripted or command prompt installations, or if you need to force certain installation options:

A2.1 Per-machine

setup_*.msi /qn TARGETDIR="<absolute path>"

  • The executing account needs full administrator permissions, e.g., when using a script started by remote maintenance software, or when starting the installer from a command prompt which was launched with "Run as administrator". The installation will abort if the account has insufficient privileges.
  • Omit the ALLUSERS parameter.
  • The other parameters are optional:
    • The /qn parameter suppresses the Windows Installer user interface.
    • The default destination directory is


      on 32-bit Windows systems and


      on 64-bit Windows systems. If you set a different path with the TARGETDIR parameter make sure the destination is in the per-machine context.

  • If you prefer you may also use the setup_*.exe as follows:

    setup_*.exe ALLUSERS=1

    The other parameters work the same as for the setup_*.msi.

A2.2 Automatic privilege elevation by Windows User Account Control (UAC)

setup_*.exe /qb

  • Omit the ALLUSERS parameter. You will get a per-machine installation if the user account can elevate to administration permissions, otherwise the installer falls back to per-user.
  • The other parameters are optional:
    • With Windows Vista and 7, /qn may be used to completely suppress the installer’s user interface. /qb displays a progress bar and /qb! removes its Cancel button. With Windows 8 and later versions only /qb is recommended as /qn may silently abort the installation or unexpectedly install per-user even though the account may elevate permissions. (This is due to Microsoft’s changes to UAC in Windows 8 and depends on the account’s specific UAC settings.)
    • For the default destination directory of per-machine installation see above. For per-user installation the default is


      It is recommended not to set a different path with the TARGETDIR parameter, but if you do, make sure it has the appropriate permissions and ownership for the respective context.

A2.3 Force per-user

setup_*.exe /qn ALLUSERS=""

  • ALLUSERS="" forces a per-user installation even if the user account may elevate permissions by UAC.
  • Execute the installer for each user account.
  • The other parameters are optional:
    • /qn may be used to completely suppress the installer’s user interface. /qb displays a progress bar and /qb! removes its Cancel button.
    • The default destination directory is


      It is recommended not to set a different path with the TARGETDIR parameter, but if you do, make sure it has the appropriate permissions and ownership for the respective account.

Note: With the LICENSEKEY= parameter a license key can be specified during installation. However, see Group Policies for a better method of distributing the license key which will help with future key updates. See Ribbon in Office 2007 and later, Updates and Online quality assurance for details of additional options that may be specified on the installation command line.

A2.4 Language

think-cell’s user interface is available in English, French, German, Italian, Portuguese and Spanish, automatically detecting the user’s language preference by using the same language as Microsoft Office. All supported languages are included in the same, unified installation package. If a language is not yet supported by think-cell, English is used. It is not possible to alter this automatic language selection behaviour.

In the setup routine, think-cell uses the language corresponding to the Windows regional settings. After installation, think-cell uses the same language as in the menus and dialogs of the installation of Microsoft Office.

A2.5 Installed files

The following files are required for think-cell and are created in the installation directory:

  • tcaddin.dll (approx. 20 MB)
  • manual_de|en|es|fr|it|pt.pdf (each approx. 2 MB)
  • custom.xml (< 200 KB)
  • sla.rtf (approx. 100 KB)
  • d3dx9_43.dll (approx. 2 MB)
  • dbghelp.dll (approx. 2 MB)
  • tcdiag.exe (< 1 MB)
  • tcdotnet.dll (approx. 8 KB)
  • tcmail.exe (< 600 KB)
  • tcrunxl.exe (< 500 KB)
  • admin-policy-templates/think-cell.adm (approx. 10 KB)
  • admin-policy-templates/think-cell.admx (approx. 10 KB)
  • admin-policy-templates/en-US/think-cell.adml (approx. 10 KB)
  • styles/example_style_complex.xml (< 10 KB)
  • styles/example_style_default.xml (< 10 KB)
  • styles/example_style_simple.xml (< 10 KB)
  • styles/no_style.xml (< 10 KB)
  • xml-schemas/dml-chart.xsd (< 100 KB)
  • xml-schemas/dml-chartDrawing.xsd (< 10 KB)
  • xml-schemas/dml-diagram.xsd (< 100 KB)
  • xml-schemas/dml-lockedCanvas.xsd (< 10 KB)
  • xml-schemas/dml-main.xsd (< 200 KB)
  • xml-schemas/dml-picture.xsd (< 10 KB)
  • xml-schemas/shared-commonSimpleTypes.xsd (< 10 KB)
  • xml-schemas/shared-relationshipReference.xsd (< 10 KB)
  • xml-schemas/tcstyle.xsd (< 20 KB)

On 64-bit versions of Windows Vista, 7, 8, 8.1 and 10 the following additional files are required for think-cell and are created in the installation directory:

  • x64/tcaddin.dll (< 25 MB)
  • x64/tcdiag.exe (< 1 MB)
  • x64/tcrunxl.dll (< 1 MB)
  • x64/d3dx9_43.dll (approx. 5 MB)
  • x64/dbghelp.dll (approx. 2 MB)

The think-cell installation does not write to folders other than the chosen installation folder.

While using think-cell additional files are written to the following folders:

C:\Documents and Settings\[user]\
Application Data\think-cell

C:\Documents and Settings\[user]\
Local Settings\Application Data\think-cell

Windows Vista, 7, 8, 8.1 and 10:



A2.6 Registry entries

To interact with Microsoft PowerPoint and Microsoft Excel, the installation of think-cell creates some new keys in the following sections of the Windows registry. Depending on whether you have a regular installation or a single-user-installation, the keys are created in the HKEY_LOCAL_MACHINE or in the HKEY_CURRENT_USER section:









In 64-bit versions of Windows the following additional keys are created:





The license key and the settings for online quality assurance and automatic updates are saved in the following section of the Windows registry:


If group policies based on think-cell.adm/x (see Group Policies) are used in your network, think-cell may also use:



think-cell changes no other sections of the Windows registry.

A2.7 Group Policies

think-cell supports Windows’ group policies to centrally control think-cell’s behavior for a group of users or on a group of machines. To use group policies, you need to create a group policy object and link it to a site, domain or organizational unit using the Group Policy Management Console.

The following explanation requires an understanding and working knowledge of group policy concepts and administration. For general information on Windows group policy concepts and details of their usage and update mechanisms refer to the contents of the online help of the Group Policy Management Console.

think-cell’s specific configuration options are described in the think-cell.adm and think-cell.admx administrative template files, which are located in think-cell’s installation directory in the subdirectory admin-policy-templates. To make use of the new options, depending on the file type:

  • for think-cell.adm: In the Group Policy Object Editor use Add/Remove Templates... under Action
  • for think-cell.admx: Copy think-cell.admx and en-US\think-cell.adml from admin-policy-templates to %SYSTEMROOT%\PolicyDefinitions and %SYSTEMROOT%\PolicyDefinitions\en-US respectively

A new node think-cell is added to the node Administrative Templates in the following two places: the think-cell settings configured under Computer Configuration determine registry entries at


and the think-cell settings configured under User Configuration determine registry entries at


If settings are enabled at both places, those under Computer Configuration take precedence.

The items of the node think-cell show the available settings that can be controlled with group policies. Each item has a description with the available values for this item.

You can use group policies to activate or deactivate think-cell for a group of individual users. For instance, if you deploy think-cell on a terminal server you need to make sure that only the licensed users have access to think-cell. When used in the following way, group policies offer a convenient method to do so:

Set up one group policy object which disables think-cell completely and link it to your domain. Use the Product Access Control setting of the administrative template think-cell with the appropriate value.
Add another group policy object which activates the software for the licensed users. This should also be linked to your domain and be applied after the disabling one. Because group policy objects are applied in reverse order the enabling object should be further up in the list in Group Policy Management Console.
In the section Security Filtering of the Group Policy Management Console restrict access to the enabling group policy object explicitly to the licensed users of think-cell.

Another convenient use for group policies is the centralized management and distribution of the think-cell license key to the think-cell users in your organization. The license key is one of the settings of the administrative template think-cell.

A2.8 Ribbon in Office 2007 and later

The think-cell toolbar in Office 2007 and later is implemented as a ribbon group. The default position for the think-cell group in PowerPoint is in the Insert tab (TabInsert), after the Insert Illustrations group (GroupInsertIllustrations); the default position in Excel is after the Insert Excel Charts group (GroupInsertChartsExcel) in the Insert tab.

Detailed information about customizing the Office ribbon is available from:

The following properties may be specified during installation to customize the think-cell group within PowerPoint:

Specify XML attributes for the tab element containing the think-cell group.
Specify XML attributes for the think-cell group element.
Specify additional XML namespace attributes for the customUI element.

Note: All of these parameters apply to the setup.msi as well as the setup.exe.

If no id, idMso or idQ attribute is specified using the RIBBONPPTABINSERT property then the think-cell group will be placed in the Insert tab. Similarly, if no id or idQ attribute is specified using the RIBBONPPGROUPINSERT property then a unique local id for the think-cell group will be automatically generated. Additionally, if no label is specified using the RIBBONPPGROUPINSERT property then the label think-cell will be used.

Adding the following option to the setup command line, for example, will place the think-cell group in a new, user-defined tab, positioned after the built-in Home tab:

RIBBONPPTABINSERT="id=""TabNew"" label=
""My New Tab"" insertAfterMso=""TabHome"""

Note: Any quote characters in the XML snippets must be double-quoted when specifying the properties on the setup command line.

Alternatively, adding the following options to the setup command line will place the think-cell group in the built-in Home tab after the Font group and label the group:


""GroupFont"" label=""think-cell"""

The idQ attribute can be used to specify qualified identifiers for both the think-cell group and tab. Any namespaces required for the qualified identifiers can be specified using the RIBBONPPXMLNS property.

For example, adding the following two options to the setup command line will place the think-cell group in a user-defined tab TabUser, qualified using the namespace, and positioned before the Insert tab:


label=""My User Tab""

Qualified identifiers can be useful when several add-ins or templates wish to customize the PowerPoint ribbon. If several add-ins, for example, specify a tab using the same qualified identifier then a single user-defined tab will be created and each of the add-ins can position groups within this common user-defined tab. Specifying a qualified identifier for the think-cell group lets other add-ins or templates position groups relative to the group. Similarly, the think-cell group can use qualified identifiers to position itself relative to the groups of other add-ins or templates. For example, the following options specify a qualified identifier for the think-cell group and positions it relative to a user-defined group:



It is important to note that the order in which add-ins or templates are loaded may influence the customization of the PowerPoint ribbon. If, in the example above, the add-in that creates the special:GroupSpecial group is loaded after the think-cell add-in then positioning relative to the special:GroupSpecial will have no effect. The order of loading cannot always be controlled and it is recommended that pairs of user-defined groups requiring relative positioning should both position themselves relative to the other. This should ensure that whichever group is loaded last will position itself correctly relative to the other. In the above example, the XML code for the special:GroupSpecial group should contain an insertBeforeQ attribute that references the think-cell group’s qualified identifier.

The think-cell group in Excel can be similarly customized using the RIBBONXLTABINSERT, RIBBONXLGROUPINSERT and RIBBONXLXMLNS properties.

A3 Updates

think-cell has built-in automatic update support. If automatic updates are enabled and PowerPoint is started, the software checks whether a new version is available. The user then has the option to either accept or delay the update. If you would prefer to have this function deactivated please contact us.

If available, think-cell uses the Microsoft Background Intelligent Transfer Service (BITS) to download updates. BITS automatically frees bandwidth when the user needs it, and hence does not interfere with dial-up connections. It also recovers gracefully from network interruptions common in mobile computing environments.

Before any downloaded code is executed, the signature is checked for validity (see Automatic update for a security note with more details). Each update is approximately 30 MB in size.

Updates are usually hosted on think-cell’s web server, but you have the option to host updates within your own intranet. To do so, you need a web server such as Apache or Microsoft Internet Information Server (IIS) that all think-cell users within your organization can access. The following files must be placed on the web server hosting your updates:

  • An XML text file, typically called update.xml, that controls the update process. See below for a description of the update XML file format.
  • One or more setup_<version>.exe update files, supplied by think-cell.

After placing the necessary files on the web server, think-cell must be installed with the UPDATESURL command line option specifying the location of the update XML file (see Initial installation), e.g.


The update XML file must contain a list of scenarios, with each scenario consisting of a set of conditions and the corresponding URL of a setup file. The first scenario whose conditions are met determines the file that the computer will download and install. By applying conditions such as a list of machine or user names, different users can receive different updates. For example, new program versions can first be distributed to a small group of pilot users before they are rolled out in the whole organization.

Figure A.1 shows a typical example of an update XML file. Conditions within the file are written in the Windows Management Instrumentation Query Language (WQL), which gives access to all relevant system parameters. To learn more about WQL, go to:

A4 Notification about license key expiration

think-cell requires a license key and can be used up to and on the expiration date of the license key.

The software will notify the user about the upcoming expiration on every start of PowerPoint and Excel if the expiration date is less than 14 days away. If the license key is expiring on the 15th, 30th, 31st of a month a notification is shown for the first time on the 2nd, 17th, 18th of the same month.

The license key dialog is used to notify the user. If the license key has not yet expired, the message “The license key of this think-cell product will expire soon. You should enter a new license key:” is shown together with the expiration date. The user has the following choices:

  • Enter a new license key and click OK.
  • Click Cancel to dismiss the dialog.
  • Click Uninstall to uninstall think-cell.

If the expiration date has already passed, the message “The license key of this think-cell product has expired. Please enter a new license key:” is shown, but clicking OK is only possible after a valid license key has been entered. If the dialog is dismissed using Cancel think-cell remains deactivated.

To prevent the license expiration dialog from being shown please make sure to order and deploy a new license key more than 14 days before the expiration date. A new license key is always valid immediately and not only after the expiration date of the old license key. Therefore you should deploy the new license key as soon as it is available.

A5 Online quality assurance

At think-cell, we are committed to stability and robustness as key factors for the professional use of our software. When an error condition arises while you are using think-cell, the software automatically generates a report that helps us to understand the problem and fix it in the next release.

An automatically created report contains the following information:

  • date and time,
  • your customization id (a three or four digit number (530 for the public version) that is the same for all users within a corporate unit; can also be found in the About dialog),
  • the program build (a five-digit number; can also be found in the About dialog),
  • an error code from the operating system or from PowerPoint or Excel,
  • the location in our source code (file name and line number) where the error occurred,
  • a Microsoft Minidump, which is basically a stack trace along with environment information such as operating system version and loaded modules. Microsoft uses the same Minidump when they send error reports,
  • if desired, the machine name or its serial number, allowing your IT personnel to identify the concerning machine or user. We may get valuable additional information if we can talk to the user who experienced the problem.
  • or, alternatively, an anonymous Globally Unique Identifier (GUID), which is used to correlate multiple error reports. The GUID is created when using think-cell for the first time and stored together with the user’s settings. It is a random string with no connection to the machine, user or document current at the time of creation. Using the GUID, it is only possible to determine whether two error reports came from the same or from different users.

The error report is sent via HTTPS to the think-cell server. Of all the information transmitted, only the Minidump, essentially memory content, could potentially contain actual slide content fragments. But in its operation, think-cell never stores actual slide content. Storing text or images is completely left to PowerPoint. Therefore it is very unlikely that the Minidump of the memory used by think-cell contains any sensitive information.

You can test the error reporting mechanism by typing errorreporttest into any textbox within PowerPoint. A message box confirms that an error report has been sent.

Automatic error reporting can be enabled or disabled by appending one of the following REPORTS options to the installation command line (see Initial installation):

Disable automatic error reporting.
Enable automatic error reporting.

A5.1 Trouble shooting and critical errors

In case of critical errors the user is asked whether he or she would like to file a support request.

think-cell critical error support request dialog

These support requests can also be sent manually (Troubleshooting). It is possible to change the default e-mail address for support requests. Append the following parameter to the installation command line (see Initial installation):


<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
  <CUpdateInfo id="1"> 
    <m_vecupdscen length="2"><!-- list of 2 different update scenarios --> 
      <!-- First scenario: the group of pilot users. --> 
      <!-- This scenario is evaluated first, and if it is executed, the 
           second scenario is skipped. --> 
        <!-- Update file of this scenario : The pilot group receives 
             think-cell build 17950 --> 
        <!-- List of 2 conditions that must _all_ be met to install the 
         file --> 
        <m_vecupdcond length="2"> 
            <!-- WQL query that an earlier build of think-cell is 
                 installed. The query searches the local WQL database 
                 (not the network). Thus it will either return one product 
                 record, if an older product is installed, or none 
         otherwise. --> 
            <m_bstrQuery>select * from Win32_Product where 
        Name='think-cell' and 
            <!-- The number of returned records is now numerically compared: 
                 -2 stands for less than, -1 for less or equal; 0 for equal; 
                 1 for greater or equal; 2 for greater than --> 
            <m_eupdcondop val="0"/> 
            <!-- Compare to numerical value 1 --> 
            <m_nCount val="1"/> 
            <!-- WQL query that the computer system is named ANNA, TOM 
                 or FRANK (the group of pilot users). Again, the query 
                 is executed locally, returning either one computer 
                 system (the one the query is running on) or none. --> 
            <m_bstrQuery>select * from Win32_ComputerSystem where 
        Name='ANNA' or Name='TOM' 
        or Name='FRANK'</m_bstrQuery> 
            <!-- number of returned records equal to 1 --> 
            <m_eupdcondop val="0"/> 
            <m_nCount val="1"/> 
      <elem><!-- Second scenario: all other users. --> 
        <!-- All other users receive think-cell build 17883. --> 
        <!-- List of 1 condition that must be met to install the file --> 
        <m_vecupdcond length="1"> 
            <m_bstrQuery>select * from Win32_Product where 
        Name='think-cell' and 
            <!-- number of returned records equal to 1 --> 
            <m_eupdcondop val="0"/> 
            <m_nCount val="1"/> 

Figure A.1: Example of an update.xml file