Our son is currently eight years old and there's something I now have no doubt about: Talking to him in an age appropriate way gets way, way better results than "making a game of it" like you do with small kids.
I've seen it over an over now. If we try to get him to do something he doesn't want to do in a "fun" way he refuses (like putting on yucky cream on a rash). Then he gets silly, then he gets upset.
If, instead, I spend a minute or so explaining why we need to do something, and yes we we know it sucks, he just does it. No fuss.
Once he knows (or is reminded - perhaps daily!) why we are doing it, he's okay with it. He might not like it, he might make whining noises, but he does it.
I'm sure this wouldn't crop up in a verbal child but it's so hard to remember to treat him like he's eight years old and not two years old when he doesn't speak.