I worked with a frustrated customer last Friday. He was having trouble installing Crystal Reports 2016 on a new PC. He wanted me to give it a try.
The first challenge was the error messages, which give no help. The main two are:
Failed to update setup engine executables
Failed to update cache for execution
After some web searching we found we could check the install log. These errors happened when Crystal tried to move or rename a folder. We found lots of people asking about these same errors going back several years. We even found SAP’s official response. The solutions that worked for some people were:
1) Turning off all firewalls and AV programs **
2) Running the install as an Administrator
3) Changing the permissions on several folders to allow full control.
We tried all of these things and a few others which leads to the second challenge. The download from the SAP web site is an EXE. Before it can do the actual install it has to unpack all the files. This takes about 5-7 minutes which isn’t in itself a problem. But when the install fails you can’t just run setup again because most of the unpacked files are deleted after the failure. Your only option is to run the EXE again and let it unpack all the files … again … every time. This makes troubleshooting very time consuming***.
I never got to see the last hurdle. My customer said that one time he got further but hit an error that mentioned a blocked port. Another search turned up that Crystal 2016 needs to communicate on a specific port to complete the installation. If this port is blocked you slide down the chute back to square one. We never got that far.
I had to punt and give him a link to buy a tech support incident from SAP. He will have to pay to get the product installed. Maybe SAP will be embarrassed enough to refund the incident charge.
I appreciate that installs are complex and that PCs can have infinite variations – but these errors have been around for years. By now they should have made it into the prerequisite test that runs before the install starts. If CR needs port X to be open then the routine should check to make sure that port is open before starting. If you need admin privileges or folder permissions, then it should check to see if it has them.
**Update 3/17: The customer checked with his IT department and found a layer of AV/Firewall protection that was still active. Once that was disabled the install went smoothly. I still think the install routine could be improved, but I can’t blame the mess above on SAP.
***Update 4/26: See this post for a way to get around the need to unpack each time you repeat an install.