BizTalk BAM activity Deploy problem – Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD)).

  • Sandro Pereira
  • Oct 10, 2010
  • 2 min read

When trying to deploy BAM activity: “C:\Program Files\Microsoft BizTalk Server 2009\Tracking>bm.exe deploy-all -DefinitionFile:BAMSample.xls”, you can get “Old format or invalid type library” error:

“Microsoft (R) Business Activity Monitoring Utility Version 3.8.368.0 Copyright (C) 2006 Microsoft Corporation.  All rights reserved.
Using ‘BAMPrimaryImport’ BAM Primary Import database on server ‘…’…
ERROR: Failed to open BAM Excel workbook file – ‘C:\Program Files\Microsoft BizTalk Server 2009\Tracking\MyBAMSample.xls’. Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))

📝 One-Minute Brief

The “Old format or invalid type library” error in BizTalk (often seen in TPE or BAM Excel tools) is usually caused by a conflict between the system’s Regional Settings and the installed version of Microsoft Office. Specifically, if you are using a non-English regional setting with an English version of Office (or vice-versa), the COM interop fails. The solution is to ensure the English (United States) language pack is installed or to temporarily set the thread culture to match the Office version.

Cause

When you use a locale setting other than English (United States) while installing the English version of BizTalk Server, your deployment of the Bam.xls file generates a fnGetString or “Old format or invalid type library” error.

In other words, this error occurs when the culture of the current thread (your Windows Regional Settings) does not match the culture of the Microsoft Office version installed on your machine.

For example, if you have Windows set to Portuguese but are using English Microsoft Office, the COM interop used by BAM tools cannot bridge the gap, resulting in the “Invalid Type Library” exception.

Solution

Change the computer locale to English (United States) and re-run the bm deploy command at the command prompt.

To change your computer locale to English (United States), you need to:

  • Click Start, click Control Panel, and then click Regional and Language Options.
  • In the Regional and Language Options dialog, on the Regional Options tab, choose the English (United States) locale from the drop-down box, and click OK.

Other Possible Solution

To work around this problem, you can either install the Office Multilingual User Interface (MUI) pack or change your locale to US-EN just for the duration of the deployment.

Thanks for Buying me a coffe
Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.

Leave a Reply

Your email address will not be published. Required fields are marked *

The Ultimate Cloud
Management Platform for Azure

Supercharge your Azure Cost Saving

Learn More
Turbo360 Widget

Back to Top