0

Try out newest Crystal Reports Runtime, version 13

Beginning with MET/CAL 7.3, we updated the Crystal Reports Runtime to version 12 in order for it to work on Windows 7. Some customers have experienced trouble with label printing as well as the performance of viewing a report. In order to resolve these issues, we've implemented a few work-a-rounds in our code and tested other CR Runtime versions. Version 13 of the Cyrstal Reports Runtime is built for .NET 4 and so is MET/CAL 8. If you would like to try out version 13 of the Crystal Reports Runtime with MET/CAL 8.0.43 or 8.046 you need to:

1) Install the Crystal Reports Runtime version 13

Download from http://scn.sap.com/docs/DOC-7824
I tested it with 13.0.3.612 (Support Pack 3, Redist Install 32-bit). MET/CAL is a 32-bit application.
Version 12 does not need to be uninstalled.

2) Configure MET/CAL or MET/TRACK to use the CR Runtime v13

Save app.config.txt as mcr32.exe.config to make the MET/CAL Run Time use it.
Save app.config.txt as mettrack.exe.config to make MET/TRACK use it.
The files should be saved right next to the .exe files. You may need admin privledges on the computer.
To roll back to 12, simply delete the .config file.

We would appreciate feedback if you try this out. Did you notice any performance difference? Is it working with your label printers?

Random Performance Tips

  • Simply opening and resaving an old .rpt file with a newer version of Crystal Reports will sometimes improve performance. This is because there are a few versions of the .rpt files. With it saved with the latest .rpt version, the runtime doesn't have to upgrade it on the fly.
  • If the first time you run a certain report is much slower than other reports, you may wish to check the printer settings in the report. See more info here.

12 comments

Date Votes
0
Avatar
Jason Knutson

Ever since 7.3 SP1 we've had issues with printing labels when our default system printer is set to an HP laser printer. When attempt to print a label in either MET/CAL or MET/TRACK the programs will just close without error. If the default printer is set to a PDF printer and the laser printer manually selected, there are no problems. So that is the workaround we've been using for a long time.

I tried installing the CR13 runtime on a system running 8.0.46 hoping it would fix the issue. Unfortunately it has not. It acts a little differently now, but basically the same issue. Now instead of the program just closing without any error, I get a message that says "unable to load report" and I can't run any reports until I close and reopen MET/TRACK. Still works fine as long as the default system printer is not set to a HP laser printer. We use the 1012, 1022 and P1102W all with the same results.

This is only happening on Windows XP systems, no problems on Windows 7.

0
Avatar
Cameron Taggart

Jason, glad to hear you have a couple of workarounds. It doesn't look like MET/TRACK displays the underlying exception message, but MET/CAL Run Time should. Can you try running the same report from the Run Time? The underlying exception message should be displayed under "Please ensure Crystal Reports 2008 runtime files are installed on your computer." 

0
Avatar
Jason Knutson

With the CR13 runtime installed, MET/CAL either just freezes up forcing me to end it through task manager or it comes up with "An unhandled Microsoft .NET Framework exception occured in mcr32.exe [3748]."

 

 

Using the CR12 runtime I get this error:

 

E12671: Please ensure Crystal Reports 2008 runtime files are installed on your computer.

(System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. at System.Drawing.SafeNativeMethods.DocumentProperties(HandleRef hPrinter, String pDeviceName, IntPtr, pDevModeOutput, IntPtr pDevModeInput, Int32 fMode)
at System.Drawing.Printing.PageSettings.CopyToHdevmode(IntPtr hdevmode)
at System.Drawing.Printing.PrinterSettings.GetHdevmode(PageSettings pageSettings)
at CrystalDecisions.CrystalReports.Engine.PrintOptions.CopyTo(PrinterSettings printer, PageSettings page)
at Fluke.Calibration.Metcal.CrystalReport.CreatePrintDialog(ReportDocument report)
at loadReport(SByte* name))

0
Avatar
Cameron Taggart

To review these errors only occur when:

  1. running on Windows XP, not Windows 7
  2. only when the report's default printer is set to a HP LaserJet printers (1012, 1022 and P1102W)

For the stack trace you posted, I see it is failing at PrintOptions.CopyTo. Here, we are simply using the CR API to copy the default printer settings from the report and it isn't working. Can you locate the printer'sdriver version on the XP computer it is failing on? Have you tried updating the driver

The "unhandled Microsoft .NET Framework exception" was unexpected. Please check the application log in the Event Viewer (start > run > eventvwr.msc) to see if there are any more details.

0
Avatar
Jason Knutson

You are correct as to when the errors occur. The problem started happening with 7.3 SP1. Didn't have any issues before that.

I checked the event viewer but there is no additional information on the .NET Framework exception. I can find where the installer for the CR13 runtime ran, but there is nothing logged after it related to the error.

The 1012 and 1022 printers are several years old. The 1012's are probably going on 10 years old. Both those models have the latest drivers available from HP installed. For the 1022 it is version 2 (20061215) and for the 1012 it is version 3 (20030926). We purchased the p1102W hoping that since it was a new model, it would solve the problem but it hasn't. It is also running the latest drivers available from HP (20110402)

0
Avatar
Cameron Taggart

I wrote a test program that is compiled to use CR 13 and simply tries to load the report and the printer options from the report.

File(s) will be available for download until 04 May 2012:
File: CopyPrintOptions.zip, 2.74 KB   

Use it by passing in the .rpt file as the only argument:

CopyPrintOptions.exe C:\ProgramData\Fluke\METBASE\shared\reports\basic_inventory.rpt

If there isn't an error, the output is:

copy PrinterSettings
copy PageSettings
press a key to exit

If you get something else, please let me know. If it crashes, I'll pass this program over to SAP's support team.
0
Avatar
Jason Knutson

I'm not seeing a way to download that file.

0
Avatar
Jason Knutson

Thanks. With the default printer set to anything but the HP, it works fine using the label report. Setting the default to a HP and using the label report I get:

An unhandled Microsoft.Net exception occured in copyprintoptions.exe [5800]

0
Avatar
Cameron Taggart

How and when does that error show up? Is there any way you can capture a video of it? Even a cell phone video would work. It can be sent to me at firstname.lastname@fluke.com. It is supposed to say "copy PrinterSettings", "copy PageSettings", then "press a key to exit". If an exception occurs, it is supposed to capture the excpetion and print all the details or the exception. If it does, please send me the entire output. 

If not, I would at least like to know if it crashing after "copy PrinterSettings" or after "copy PageSettings". I've modifed the program so you must press a key before it does either.

 

File(s) will be available for download until 07 May 2012:
File: CopyPrintOptions.zip, 2.75 KB   

https://accapi.danahermail.com/seos/1132/mpd/08052012aa4c7f3dd3c579395061a6e5c98f46c1

0
Avatar
Scott Prieskop

In the above post, you said "

2) Configure MET/CAL or MET/TRACK to use the CR Runtime v13

Save app.config.txt as mcr32.exe.config to make the MET/CAL Run Time use it.
Save app.config.txt as mettrack.exe.config to make MET/TRACK use it."

I downloaded app.config.txt, but it saved as an xml file full of gibberish, and no mention is made of which directory to save it to.

0
Avatar
Cameron Taggart

They are indeed XML configuration files for .NET applications. In my post, I said "The files should be saved right next to the .exe files." To configure MET/TRACK, you save a copy of the file as mettrack.exe.config in the directory where mettrack.exe is. To configure MET/CAL Run Time, you save a copy of the file as mcr32.exe.config in the directory where mcr32.exe is.

Please sign in to leave a comment.