Hi,
I'm trying to call a custom action within my Setup & Deployment project to update some items within the app.config on my app. I've wrapped up the custom config section in the usual way, e.g.:
[ConfigurationProperty("serviceProvider", IsRequired = true)]
public string ServiceProvider
{
get { return (string)base["serviceProvider"]; }
set { base["dataProviderFactory"] = value; }
}
I've set the custom action to be called during the Install section of installation just after base.Install(stateSaver). The code is:
string exePath = string.Format("{0} MyApp.exe", Context.Parameters["DP_TargetDir"]);
SysConfig.Configuration config = ConfigurationManager.OpenExeConfiguration(exePath);
Configuration. MyApp section = Configuration.MyApp)config.GetSection("MyApp");
When I run this, I get this error:
System.Configuration.ConfigurationErrorsException: An error occurred creating the configuration section handler for MyApp: Could not load file or assembly 'MyCompany. MyApp.Configuration' or one of its dependencies. The system cannot find the file specified. (C:\Program Files\MyCompany\MyApp\MyApp.exe.config line 5) ---> System.IO.FileNotFoundException: Could not load file or assembly 'MyCompany.MyApp.Configuration' or one of its dependencies. The system cannot find the file specified.
Line 5 in the config is:
<section name="MyApp"
type="MyCompany.MyApp.Configuration.MyApp, MyCompany.MyApp.Configuration"
requirePermission="false" />
The class library with the installer code (that being the only class in that library) has a reference to the config assembly.
Is there something really obvious that I'm missing here? I can't work out why the ref to the config isn't being found.
Any help/suggestions would be very much appreciated.
Thanks,
K