Have you recently started an upgrade from an earlier version of Sage 100 to Sage 100cloud or Sage 100 version 2018 and run into this Crystal Reporting error?
Crystal Report Windows Forms Viewer
“Unable to cast COM object of type”
‘CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass’ to interface type
‘CrystalDecisions.ReportAppServer.Controllers.ISCRReportSource’. This operation failed because the QueryInterface call on the COM component for the interface with IID ‘{98CDE168-C1BF-4179-BE4C-F2CFA7CB8398}’ Failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).
Here’s the reason that you are encountering the error and the way to fix it.
Example: Sage 100 or Sage 100cloud STANDARD upgrade from 2016 to 2018
- Install 2018 to SERVER
- Run 2018 workstation setup on a WORKSTATION which also has 2016 installed
- This breaks Crystal Printing on that 2018 workstation (at this point 2016 workstations can still print)
- To fix the 2018 printing, copy the Pvxwin32.exe.Config file from the 2018 SERVER “..\MAS90\Home” directory where Sage 100 2018 is installed, into the 2016 SERVER “..\MAS90\Home” directory of the previous version(s) where the error is experienced.
- The issue resolves for 2018 TEST WORKSTATION – BUT …
- However, because you copied the config files to the 2016 folder you break printing for 2016 LIVE WORKSTATIONS NOT YET UPGRADED WITH 2018 WKSETUP
- Unless those 2016 LIVE WORKSTATIONS (a) also install 2018 WKSETUP (or presumably you remove the Pvxwin32.exe.Config from above which breaks your 2018 workstation but lets 2016 without 2018 installed print ) AND you’ve moved the config described in (4) above.
Business Issue:
- Generally not a big issue if you are doing an upgrade in one day because you can uninstall 2016 and install 2018 wksetup and everyone can print
- The problem appears when a customer wants to test over the course of several days/weeks and wants to run 2016 and 2018 on the same workstation(s) in a production environment.
- You can’t just give one person 2018 wksetup (and move the config to the 2016 folder) without doing the whole company or the fix above breaks the 2016 people who don’t have 2018 wksetup
- While this may not seem like a huge issue it is problematic in large installs with 20+ user counts, shipping, receiving because of the time it takes to travel from workstation to workstation and debug minor issues,
Possible workaround on this would be:
- Install 2018 for testing to a standalone workstation that is not used for any prior version
- Test on this workstation that has no other Sage version(s)
- When ready run wksetup on remaining workstations and remove prior Sage version
- The issue with this workaround is other users can’t test various workstation issue such as printing, credit cards, etc
The Sage KB entry which more fully describes the resolution can be read online at – Error: “Unable to cast COM object of type” when printing in prior Sage 100 versions after installing Sage 100 2018