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.
To install and run think-cell, the following software must be installed:
The installation of think-cell requires about 80 MB of disk space.
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:
setup_*.msi /qn TARGETDIR="<absolute path>"
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.
The other parameters work the same as for the setup_*.msi.
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.
setup_*.exe /qn ALLUSERS=""
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.
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.
The following files are required for think-cell and are created in the installation directory:
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:
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]\ →
C:\Documents and Settings\[user]\ →
Local Settings\Application Data\think-cell
Windows Vista, 7, 8, 8.1 and 10:
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.
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:
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:
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.
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:
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:
""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:
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 http://example.com/ribbon, 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.
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:
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:
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:
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.
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:
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):
In case of critical errors the user is asked whether he or she would like to file a support request.
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"?> <root> <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. --> <elem> <!-- Update file of this scenario : The pilot group receives think-cell build 17950 --> <m_bstrFile>http://example.com/setup_17950.exe</m_bstrFile> <!-- List of 2 conditions that must _all_ be met to install the file --> <m_vecupdcond length="2"> <elem> <!-- 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 Version<'1.17.950.0'</m_bstrQuery> <!-- 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"/> </elem> <elem> <!-- 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> </m_vecupdcond> </elem> <elem><!-- Second scenario: all other users. --> <!-- All other users receive think-cell build 17883. --> <m_bstrFile>http://example.com/setup_17883.exe</m_bstrFile> <!-- List of 1 condition that must be met to install the file --> <m_vecupdcond length="1"> <elem> <m_bstrQuery>select * from Win32_Product where Name='think-cell' and Version<'1.17.883.0'</m_bstrQuery> <!-- number of returned records equal to 1 --> <m_eupdcondop val="0"/> <m_nCount val="1"/> </elem> </m_vecupdcond> </elem> </m_vecupdscen> </CUpdateInfo> </root>