Microsoft KB Archive/815441

= Microsoft .NET Framework configuration files in a side-by-side installation environment =

Article ID: 815441

Article Last Modified on 5/17/2007

-

APPLIES TO


 * Microsoft .NET Framework Software Development Kit 1.0 Service Pack 2
 * Microsoft .NET Framework 1.1

-



SUMMARY
This article contains information about Microsoft .NET Framework configuration files in a side-by-side installation environment.



MORE INFORMATION
When you install the .NET Framework, two different types of configuration files are installed, machine configuration files and security policy configuration files. In a side-by-side installation environment, you can install multiple versions of the .NET Framework on the same computer. Each installed version has its own set of machine configuration files and security policy configuration files. The settings in these files are specific to the version that installed them.

Because the machine configuration files and the security policy configuration files (and the settings in these files) are specific to a single version of the .NET Framework, you must understand the following information:
 * The version-specific location of these files
 * What happens to these files during a new installation of the .NET Framework
 * What happens to these files when they are changed by tools that are specific to a version of the .NET Framework

Location of Configuration Files
The following table lists the version-specific locations of the machine configuration file.

Where %Windir% is the drive and folder where the Windows operating system is installed (for example, C:\Windows).

The following tables list the version-specific locations of the security policy configuration files.

Enterprise policy configuration file

Machine policy configuration file

User policy configuration file

Where  is %Windir%\Microsoft.net\Framework\v1.0.3705 for the .NET Framework version 1.0, and %Windir%\Microsoft.net\Framework\ v1.1.4322 for Windows .NET Framework version 1.1.

Installation Scenarios
In a side-by-side installation environment, multiple versions of the .NET Framework may be installed on the same computer, and each version installs its own set of machine configuration files and security policy configuration files.

Machine Configuration Files
There is no installation support for migrating settings from one version of Machine.config to another. When you have changed a specific version of Machine.config, and you want to have those changes represented in other versions of the .NET Framework, you must manually migrate those changes from one version of Machine.config to another.

Security Policy Configuration Files
There is installation support for migrating security policy configuration files from one version of the .NET Framework to another. This migration is facilitated by the .NET Framework tool Migpol.exe. There are certain limitations in the ability of Migpol to migrate security policy modifications from one version to another. See the Migpol documentation for specific migration information.   Install version 1.1 of the .NET Framework

As part of the installation process, security policy configuration changes that you made to version 1.0 of the .NET Framework are migrated to version 1.1 by calling Migpol in the following way: migpolwin –migrate 1.1.4322 1.0.3705 Note To use the Migpolwin tool, you must install Microsoft .NET Framework SDK version 1.1.

If you have not installed version 1.0 of the .NET Framework before you install version 1.1, no migration occurs because there is no version to migrate from.   Install version 1.0 of the .NET Framework

As part of the installation process, security policy configuration changes that you made to version 1.1 of the .NET Framework are migrated to version 1.0 by calling Migpol in the following way: migpolwin –migrate 1.0.3705 1.1.4322 If you have not installed version 1.1 of the .NET Framework before you install version 1.0, no migration occurs because there is no version to migrate from. 

From the Microsoft .NET Framework Configuration Tool (Mscorcfg.msc)
Each version of the .NET Framework has its own version-specific instance of Mscorcfg.msc.

All actions that are taken by a specific version of this tool, except changes to the Assembly Cache, are applicable only to the corresponding version of the .NET Framework. This includes all configuration changes, and deployment packaging.

When you change configuration settings by using Mscorcfg, and you want these changes to be reflected in other currently installed versions of the .NET Framework, you can do one of the following:
 * For each version of the .NET Framework that you want these changes to apply, make the same changes in each version-specific instance of Mscorcfg.
 * Specific to machine configuration files: For each version of the .NET Framework that you want these changes to apply to, manually migrate the settings from one version of Machine.config to another.
 * Specific to security policy configuration files: For each version of the .NET Framework that you want these changes to apply to, use Migpol to migrate the changes from one version to another.

Deploying security policy is also version-specific. When you create a security policy deployment package in Mscorcfg, the installer that is created only deploys the security policy to the version of the .NET Framework that the instance of Mscorcfg that you use is associated with.

From the Code Access Security Policy Tool (Caspol.exe)
Each version of the .NET Framework includes its own version-specific instance of Caspol.exe.

All security policy changes that you make by using Caspol.exe are specific to the associated version of the .NET Framework. When you want these changes to reflect in other currently installed versions of the .NET Framework, you can do one of the following:
 * Make the same changes by using the version-specific instance of Caspol.exe.
 * Make the same changes by using the version-specific instance of Mscorcfg.
 * Migrate the changes from one version to another by using Migpol.exe.

