Crystal Dashboard and Excel 2016 or Office 365 – prerequisites.

Annoying isn’t it? Excel 2016 is installed (or Office 365), but that doesn’t count as 2007 or higher. Jokes about Office upgrades aside, this shouldn’t be a problem, but you can’t install.

One solution is to uninstall Office 2016, install Office 2013, then install Office 2016 again. Not great, especially as Office 2013 takes up a lot of disk space and uninstalling it can cause problems with file associations and jump lists.

The problem is caused by the way that Dashboards try to detect the presence of Excel. It’s not enough to just check that there is ‘some’ application associated with xls and xlsx, it needs to be proper Excel. The way that Dashboard does this is to search the registry for certain values.

Everything that follows is unofficial and unsupported.

The values to search for are stored in a file called ‘product.seed.xml’. It’s stored in ‘dunit\product.xcelsius-4.0-core-32’. If you open this in an editor (I prefer Notepad++ as it handles the formatting well), you’ll see a section that starts:

<prerequisite id="findMSOffice" description="#prereq.MSOfficePreReqText#" reason="#prereq.MSOfficePreReqNotOkText#" type="error">

Followed by several entries similar to this:

<action id="RegistrySearch">
 <arg name="RegistryKey" value="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\10.0\Excel\InstallRoot"/>
 <arg name="RegistryName" value="Path"/>
 <arg name="RegistryType" value="2"/>
 <arg name="PropertyName" value="EXCEL10"/>

In English, it’s just telling the installer to search the registry to see if Excel 10 is installed. The following entries are for later versions of Excel. You’ll see the last two entries are for 64 bit Excel – don’t get excited, they’re just to throw an error about 64 bit Excel!

My original plan had been to create a new entry to search for Excel 2016. Problem is, I have Office 365 installed which appears to have a different structure in the registry.

Solution: delete the section!

First backup the file. Then, starting from <prerequisite, delete everything up to and including the </prerequisite> tag after the final Excel entry. In my editor, that’s line 74 up to line 130.

Now run the installer again. If you’ve made an error, the install will very quickly fail. Restore your backup file and do the edit again.

If it’s worked, you’ll see:

Excel is no longer needed

Keep pressing Next, then your licence key, you’re good to go.

8 thoughts on “Crystal Dashboard and Excel 2016 or Office 365 – prerequisites.

  1. Hi! I could do the installation , but now it does not work.
    I keep getting an error:

    Rutime Error!
    Program: CProgra…
    This application has requested the Runtime to terminate it in an usual way.
    Please contact the application’s suport team for more information.

    1. Sorry to hear you’re having difficulty. Not much I can say really. Assuming you have 32 bit Office, it should work. It’s not a supported fix, so impossible to say what’s not working.

  2. Thank you so much for posting this, Andrew, you are a lifesaver!

    I’m using Dashboard 4.1 SP6 Patch 0 with Office 365 (Excel 16).

    I found that, as an alternative to deleting the section, you could add to the entries following the <prerequisite id="findMSOffice"… with the following section (in my case I have Office 365 so I had to add 16.0).

    and then scroll down to the section. You’ll see Excel10, Excel11, etc, so I added the following:

  3. Hi. I’ve used this before and it worked great as well as for Live Office (using the same method) in Excel 2016 32bit. I’m pegged at using SAP 4.1 SP8 so had to use this work around….

    …however, I’ve just tried the same thing on a colleagues PC who uses Office 2016 64bit and they have a problem.
    The install finished fine (for Live Office) but doesn’t appear in the menu bar. I’ve gone to Add-ins and manage the COM Add-ins (as Live office is currently shown as inactive). In the menu, when I try to click the checkbox and add it in, I get an error “Load Behaviour: Not Loaded. A runtime error occurred during the loading of the COM Add-in.”

    Any ideas?

Leave a Reply

Scroll to top