VBScript - Error in ASI_OpenReport. Error: Invalid TLV record. Error Number: -2147206429.

1 June 2012

Issue Description

When trying to print a Forms Printer for Crystal 9.0 (Or Greater) Report from one workstation, the following error is displayed:

VBScript
Error in ASI_OpenReport. Error: Invalid TLV record. Error Number: -2147206429.

Cause 1: The wrong version of a Crystal Report dll file is registered on that workstation.  (usually a Crystal 8.5 DLL was registered and is taking the place of the appropriate Crystal 9,10, or 11 DLL )

 

Cause 2: The issue may be that the CRPE32.dll in the Dynamics GP folder is Version 11.2 or older, while the registered Craxdrt.dll is version 11.5 (Crystal XI "R2" version). See Solution 2 below for details.

 

 

Solution 1

 

  • If using Crystal 9, Find the file craxdrt9.dll (in a standard installation, this would be located in C:\Program Files\Common Files\Crystal Decisions\2.0\bin).

 NOTE: if using Crystal 10, this DLL is named craxdrt.dll and is found in C:\Program Files\Common Files\Crystal Decisions\2.5\bin\craxdrt.dll

 NOTE: if using Crystal XI this DLL is named craxdrt.dll and is found in C:\Program Files\Common Files\Business Objects\3.0\bin\craxdrt.dll

 

NOTE: if using Crystal XI-R2 this DLL is named craxdrt.dll and is found in c:\program files\ business objects\Common\3.5\bin\craxdrt.dll
 

 

  •  Register the craxdrt9.dll file (if using Crystal9), or the craxdrt.dll file for Crystal 10 , XI or greater:
  • Click the Windows 'Start' button.
  • Select 'Run' and type:
 regsvr32 "C:\Program Files\Common Files\Crystal Decisions\2.0\bin" 
in the Open field.  (use the path where the dll was found in step 1) 
  1. Select 'OK'
  2. If you receive the message, "DllRegisterServer in ...craxdrtxxx.dll succeeded" you know the file is properly registered.
  3. Select 'OK'.

 

If this does not resolve the problem, You should re-install Forms Printer for Crystal 9,10 or 11 on the workstation to insure all crystal DLLs are in place and registered. 

 

 

Solution 2

There is another possible cause of the TLV error that we have seen, related to Crystal 11.0/11.5.  (11.5 is known as Crystal XI-R2)

 
The issue may be that the CRPE32.dll in the Dynamics GP folder is Version 11.2 or older, while the registered Craxdrt.dll is version 11.5 (Crystal XI "R2" version) - If this is the case, you should backup and delete the CRPE32.dll in the GP folder, and then do the "repair" of  “Forms Printer for GP10 and CR XI-R2” to get the correct version of crpe32*.dll (the 11.5 version)  installed into the GP folder.
 
Alternatively, If you did not install “Forms Printer for GP10 and CR XI-R2”, but instead installed “Forms Printer for GP10 and CR XI”, Then you may be able to correct the issue by re-registering the Crystal 11 runtime components (regsvr.exe C:\Program Files\Common Files\Business Objects\3.0\bin\craxdrt.dll )
 
In either case, the important thing, is that the last registered version of craxdrt.dll should match the relative version of the  crpe32*.dll that was placed into the GP application folder  by the Forms Printer installer (or a copy of this dll obtained from the Crystal runtime ‘bin’ folder for the appropriate version:.
 
Details:
 
Note that Crystal XI “R2” components are versioned 11.5.xxx,  Whereas Crystal XI “R1”, are Versioned 11.0.xxxx (or 11.2.xxx)
 
2 cases that may cause “Invalid TLV”
 
Case1: CRPE32.dll and CRPE32_res_en.dll in the GP Application folder, are version 11.5, while the last registered Craxdrt.dll is Version  11.0 or 11.2  found in:
 
c:\program files\common files\business objects\3.0\bin
 
 
 
Case2: CRPE32.dll and CRPE32_res_en.dll in the GP Application folder, are version 11.0 or 11.2, while the last registered Craxdrt.dll is Version  11.5 found in 
 
c:\program files\ business objects\Common\3.5\bin
 
The fix in either case is to replace the CRPE*.dll’s in the GP folder with the version that matches the Currently registered Crystal Runtime.   
 
Note that it is difficult to distinguish between which of the  Crystal XI “R1” and Crystal XI “R2” runtimes were  “last registered”, since they both represent themselves in the Registry as CURVER = CrystalRuntime.Application.11,
 
In the  Windows Registry Key:
 
HKEY_CLASSES_ROOT\CrystalRuntime.Application\CurVer” 
 
But you can find out which one is registered by checking for the GUID listed under :
 
HKEY_CLASSES_ROOT\CrystalRuntime.Application.11\CLSID
 
{166EB857-8CCD-4D83-8F27-CADDB2800374}  is listed for CR XI R1 for example:
 
And then searching for that "GUUID" string under HKEY_CLASSES_ROOT\CLSID
 
And when found, check the value of the  path of the Default Value of the HKEY_CLASSES_ROOT\CLSID\{166EB857-8CCD-4D83-8F27-CADDB2800374}\InprocServer32 subkey:
 
And if the path is:
 
C:\Program Files\Common Files\Business Objects\3.0\bin\craxdrt.dll 
 
Then the currently registered version is  is Crystal XI “r1” (i.e 11 or 11.2)
 
And if it is :
 
C:\Program Files\Business Objects\Common\3.5\bin\craxdrt.dll 
 
Then it is Crystal XI “R2”  - i.e Crystal 11.5
 
(The Crystal R2 GUID String is :  {0BC59388-6740-4D7E-B7D9-B5F20EEABDCD}  )
 
 
Please let us know if you have further questions, and if so, the Version of Forms Printer that was actually installed (from the add-remove programs control panel entry)   (for GP X and Crystal YY, build ZZ)
 

 

Please contact the Accountable Technical Support Team for further assistance:


Email: techsupport@accountable.com

 

Site Map