This article has been archived. It is offered "as is" and will no longer be updated.
In a 2007 Microsoft Office program, in Microsoft Office 2003, in Microsoft Office XP, and in Microsoft Office 2000, managed add-ins fail or behave unexpectedly after you install a managed COM add-in that includes a custom application configuration file.
This issue may occur when a managed COM add-in overwrites the existing configuration file.
Managed add-ins rely on the common language runtime (CLR) to load the assembly. By default, when the CLR loads the assembly, the CLR searches the path where the host application is installed to locate the configuration file. Therefore, when you deploy an application configuration file for a managed add-in, you typically create the Setup program so that it installs the configuration file to the folder where the host application is installed.
To minimize the risk of the configuration file being overwritten, implement one of the following solutions:
Use Visual Studio Tools for the Microsoft Office System (VSTO).
Use managed smart documents or managed smart tags that are loaded by using the VSTO loader.
Use managed smart tags that use a complex C++ smart tag shim.
Use managed COM add-ins that use a complex C++ add-in shim.
These solutions force the CLR to search for the configuration file in the installation folder of the managed add-in and to load the configuration file from the installation folder of the managed add-in. Therefore, you can deploy the configuration file to the same folder as the managed add-in. This should prevent the configuration file from being unintentionally overwritten.
Important Microsoft does not currently recommend, and does not support, using application configuration files when you develop and deploy a managed add-in.
Managed solutions that are developed by using VSTO automatically create an AppDomain logical container that contains an AppBase attribute set that references the location where the managed assembly was loaded. This forces the CLR to search for the configuration file in the installation folder of the managed add-in and to load the configuration file from the installation folder of the managed add-in.
By implementing an unmanaged shim, you can create your own AppDomain logical container and AppBase attribute for your managed smart tag solution or managed COM add-in solution.
For more information about the COM Shim Wizard, visit the following Microsoft Developer Network (MSDN) Web site: