We have a web application developed in Visual Studio 2003 and .Net framework 1.1. In this application, we show a .Net Windows user control in a web browser (IE) to give a rich look to the user.

In our web application, When a user clicks certain link from the client machine, all the dlls that are necessary for the user control are downloaded to the temp directory of the client machine. IE uses runtime for framework
1.1 on the client machine to load these dlls and show the user control in the browser.
As long as there is only 1.1 framework installed on the client machine, our application is working fine.

It is a known issue in Microsoft that any non .Net applications, IE in our case, use the latest version of .Net framework that is installed on the machine to load any .Net dlls or run .Net code.

Hence, we are facing problems in the client machines where multiple versions of .Net framework (1.1 and 2.0) are installed. The Internet Explorer is using 2.0 runtime to load the dlls. One primary problem in this is modifying the code access security policy in both the frameworks, which is not an expected thing to do.
Also we are running into few other intermittent issues because of this.

We came across a workaround where we need to copy a config file in the installed directory of IE, which contains the order of supported runtime versions. In this manner the browser will first try to load the dlls in 1.1 runtime and that should solve our problem. But this is not an acceptable solution due to some concerns from our client.

Is there any other way to address this issue so that we can tell the client machine's .Net runtime or the browser to use a specific version of .Net framework to load the dlls of our application.