To use TX Text Control Server for ASP.NET (incl. Windows Forms)'s BrowserTextControl in the Internet Explorer, the .NET Framework must be installed on client-side. A client-side control is required to provide the true WYSIWYG editing interface.

If no .NET Framework is installed, you might redirect your users to a download and install page for all prerequisites.

If you want to avoid external controls or Javascript to check whether a .NET Framework is installed, there is only one way to get this information from the client: Using the user agent information the browser discloses. Using the HTTP server variables, a string can be requested that describes the browser in detail.


This returns a string like this:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 1.1.4322; InfoPath.1)

It shows that my machine is running Windows Vista (NT 6.0), I am browsing with Internet Explorer 7.0 and that 3 versions of the .NET Framework are installed: 1.1, 2.0 and 3.0.

Now, we simply need to split the returned string to get the specific versions.

ArrayList agentVariables = new ArrayList(Request.ServerVariables["HTTP_USER_AGENT"].Split(';'));
foreach (string variable in agentVariables)
    if (variable.StartsWith(" .NET"))

The above code fills a list box with the available .NET Frameworks.