sorry about the little confusion: 500 Internal error is basically any error thrown by your application - it could be anything from the missing file, wrong connection string... so, since you've mentioned that you have deployed the website, I am guessing that this happens somewhere on the remote server.
In ASP.NET you can configure do you want to show custom errors always, don't show them at all or show them only on the remote server. The idea is that custom errors will not show you the full information about what went wrong and you can generally map these errors to some kind of user friendly page (hence the name custom error). So for example, on your production site you could have a page "Oops! Something went wrong." which would display any time a server error happens. If this page does not exist, the 500 Internal error will show (very vague explanation that something does not work).
So, why have all this choices for errors? The idea is following: when you are working on the site, you want to have as much information about error as possible to debug fast. On the other hand, on the production server, you don't want people to see that file C:\licenses\mylicense.xml is missing, since it could compromise the security of your website and application.
The bottom line: temporarily turn off the custom errors for your remote site just to figure out what exactly is going wrong (you could also use log files for this, but that's another story). To do so, please make sure in your web.config you have a line like this:
|<customErrors mode="Off" />
Most probably, you will find the line that looks like this:
|<customErrors mode="RemoteOnly" />
So, replace the RemoteOnly with Off. Once you've determined the problem, set the mode to RemoteOnly again.
If you have problems with fixing the problem, feel free to send us the actual error message and stack trace once you obtain it.
I hope you'll find this information helpful. Let us know if there is anything else we can do for you.
the Telerik team