IBM Support

"The Excel-link is not installed" caused by user never having launched Excel before

Troubleshooting


Problem

User launches the Controller client. User tries to use any Controller functionality that involves Excel (for example by clicking on the green 'X' button on the menu bar). An error occurs. After acknowledging the error (clicking OK) Microsoft Excel appears. User then closes Excel and switches back to Controller. User re-tries the same functionality (e.g. by clicking 'X' again). This time there is no error - the functionality works OK.

Symptom


The Excel-link is not installed

Cause

There are many different possible causes for the error 'The Excel-link is not installed'.

  • For more examples, see separate IBM Technote #1396195.

This Technote specifically relates to the scenario where the cause is that the end user has never launched Microsoft Excel in the past (on this client device).

More Information
Controller contains a 'self-healing' mechanism where it will register its Excel add-in (onto the client device) if that registration is missing. It does this by inserting a registry entry into the end user's profile.
  • The registry entry is located inside the end user's HKCU
  • Specifically, it is inside a subkey of the branch that Microsoft Office uses to store its add-in information (HKEY_CURRENT_USER\Software\Microsoft\Office)

If this branch (HKEY_CURRENT_USER\Software\Microsoft\Office) does not exist, then the self-healing will fail, and an error is shown.
  • This branch is only created when the end user first launches Office (typically Microsoft Excel), therefore the process will (naturally) fail if the end user has never launched MS Excel before.

Environment

The problem could potentially occur in any environment, but it is highly unlikely to occur when the end user is running the Controller client locally (directly on their laptop/desktop PC).

  • This is because they will have almost certainly (at some point in the past) have launched Microsoft Excel.

Instead, the problem is almost certainly only to be seen when users run Controller via a Citrix (or Terminal) server.

Imagine a scenario where a customer has built a brand-new Citrix server (to deliver the Controller client to its end users). By default, Windows user profiles will be configured to give new users (those who have never logged onto the Citrix server before) brand new Windows user profiles. By Microsoft Office design, each end user will not have any MS Office-related registry keys (in their user profile) until an Office component (e.g. Excel) is launched.

  • Therefore if the end user launches Controller first (before ever launching Excel before in the past) the error will appear.

Imagine that the customer has several (e.g. 3) Citrix servers. In general there are three types of Microsoft profiles:

(1) Standard (non-roaming') Profiles (very common):

Each Citrix server has its own independent user profile. Therefore the end user will see this problem a total of 3 times, because he/she will get the error on each Citrix server.

  • Once the user has seen/acknowledged the error three times (on these 3 servers) he/she will never see the error again.

(2) (Terminal Services) Roaming Profiles (common):

Every Citrix server shares the same profile (stored on the network). Therefore the end user will see this problem a total of one times, because he/she will only get the error on the first Citrix server that they use.

  • Once the user has seen/acknowledged the error once (on the first server) he/she will never see the error again.

(3) Mandatory Profiles (rare):

Each Citrix server uses the same 'forced' (mandatory) user profile during logon. This never changes. When the user has finished their session (i.e. logs off) any changes (in their profile) are lost/deleted. its own independent user profile. Therefore the end user will see this problem a total of 3 times, because he/she will get the error on each Citrix server.

  • Even if the user has seen/acknowledged the error, he/she will see the same error again the next time he/she launches Controller (for example the next day).

Resolving The Problem

There are several different methods that you can use to solve the problem. Choose whichever method is easiest/best for your environment:

Method #1 - (Recommended) Ask your end users to ignore this benign error
After the error is acknowledged, Microsoft Excel is automatically launched, and so the required MS Office registry key is built.

  • Therefore the next time that the end user uses the button, the functionality will work correctly (no error).
This method is recommended since it is by far the simplest.

Method #2 - Tell users that if they have never launched MS Excel in the past, they will get this error the first time they use the function
In other words, forewarn the users that they should launch MS Excel once (on a new system) before launching Controller, to ensure that the environment is fully prepared.

Method #3 - Forcibly add the MS Office registry key to the end user's profiles
This method is typically only useful in a Citrix/Terminal Services environment. The idea is to ask your I.T. department to automatically add the missing MS Office registry key (to the end user's profiles) the first time that they logon to the system.
  • Therefore the next time that the end user uses the button, the functionality will work correctly (no error).

For example, ask them to perform the following:
  1. Select a brand new user (someone who has never logged onto Citrix before)
  2. Logon to the Citrix server as a full desktop session (for example via Terminal Services/RDP)
  3. Launch Microsoft Excel
  4. Close Excel
  5. Launch Regedit, and export the following key: HKEY_CURRENT_USER\Software\Microsoft\Office
  6. Save this somewhere (as a .REG file)
  7. Use any method they choose (for example a logon script or AD policy) to ensure that this key is added to new user's sessions (those with a brand-new profile)
TIP: To avoid possible effects of user's losing their Excel customisations (because their registry entries are overwritten each time they logon to Citrix) try to ensure that the method that you use (to add the registry information) only occurs the first time that they logon to the server (not any subsequent logons).

[{"Product":{"code":"SS9S6B","label":"IBM Cognos Controller"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Controller","Platform":[{"code":"PF033","label":"Windows"}],"Version":"10.1.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
15 June 2018

UID

swg21673386