You can't retrieve a list of the installed browser using a server-side language.
Even if you could it would be practically useless since some browsers would not appear in that list (as SeaMonkey, for example).
What you can try is to get the browser which is used to access your website, but even that stands on shacky feet since not every browser transmits its name correctly.
You know the world is going crazy when the best rapper is a white guy, the best golfer is a black guy, the tallest guy in the NBA is Chinese, the Swiss hold the America's Cup, France is accusing the U.S. of arrogance, Germany doesn't want to go to war, and the three most powerful men in America are named "Bush", "Dick", and "Colon."
That really depends on what browser is installed/available. If it's XP, there's no guarantee that the user has a decent browser installed.
More importantly, there is no guarantee here that HTML offline apps is solving a problem that the user has raised. It's always important to find out what the actual problem is before jumping in with a technology that is supposed to fix it.
I only suggested HTML 5 Offline apps, its upto the user what he sees as fitting in his scenario. There are always some kind of limitations with every software, like for windows app, .Net framework needs to be installed, so it is always a selection on software/hardware.
I agree it could break somewhere when the browser is old, but for that simple HTML 4 with AngularJs can be used for developing offline apps.
I just can't seem to get this right.
I have a Com Class written in VB.Net that brings up a form where users can enter information.
I have a delphi program that opens this class and it shows the form fine.
The problem I have is with events raised in the Com Class. It just does not get fired in delphi, although I can assign it to a procedure.