views:

303

answers:

0

I am trying to update a custom configuration section of a web.config file during the installation of my product in a custom action. I wanted to use the actual configration classes to do this however when the installer runs it loads my installer class but then the Configuration.GetSection throw a File Not Found exception as it is trying to load my custom section class from the windows system directory. I managed to get this to work by copying the required assemblies into the windows system directory but this is not an ideal solution as I cannot guarantee I will always have access to that directory.

How else can I solve this problem?

My update code looks like this

[RunInstaller(true)]
public partial class ProjectInstaller : Installer
{
    public override void Install(System.Collections.IDictionary stateSaver)
    {
        //some code here
        webConfig = WebConfigurationManager.OpenWebConfiguration("MyService");
        MyCustomSection mySection = webconfig.GetSection("MyCustomSection") //<--File Not Found: CustomConfigSections.dll
        //Update config section and save config
    }
}

My config file looks like this

<configuration>
    <configSections>
        <section name="myCustomSection" type="CustomConfigSections.MyCustomSection, CustomConfigSections" />
     </configSections>
    <myCustomSection>
        <!-- some config here -->
    </myCustomSection>
</configuration>