No, but most customers prevent the end-user from ever starting wyUpdate from within their app if the update lease has expired. So, for LimeLM they use the custom license fields. (See: Custom license fields, Example #2: SaaS or time limited restrictions).
So it works something like this: the company has a menu in their app that says "check for updates" (or maybe they do it automatically). When the end-user clicks "check for updates" the app first sees if the "update_expires" value has expired. If so, then don't run wyUpdate at all. Just give the customer some way to extend their subscription to the updates. Otherwise, if their subscription is still valid, then launch wyUpdate.
This way the customer gets actionable data. They can actually buy a renewal subscription. If we just provided a customizable error screen then the customer wouldn't get any real use out of it. Most customers don't really read errors. All they see is "Error: blah, blah, blah."
Even technically inclined customers don't read errors. You can scroll through some topics on this forum and you'll see a user posts an error that tells them exactly what's wrong and exactly how to fix it. And then they ask what's wrong and how to fix it (a shocking amount of people don't read the error they're posting).
So, what's my point? Don't wait until the customer is inside wyUpdate to show the error. Do it within your app, and give them an immediate option to buy more time from you. Isn't that the whole point? Make it easy for the customer to give you money. Don't make them copy and paste stuff from error messages.