If you truly are concerned about hard feelings, maybe try to get out of it. See if he would be willing to get a third opinion.

I would probably still try to explain that you would have to be overly critical of the work, and you aren't comfortable doing that in this situation. In these types of situations I generally make the code the bad guy instead of the installer. You are only informing him of what the code says. "Even though this appears to be working fine, the code won't allow it this way" instead of "boy was the guy who installed this an idiot or what?"

I would expect that with careful explaining, he'll realize how little he knows about the code and possibly adopt the attitutde that he's kind of been caught, and he may even tell you to write up what you honostly think anyway.

Either way, talk to him first. How he handles it from there is in his court and out of your control. But you've handled it the best way you know how.