Product: TIBCO Spotfire®
Installation of TIBCO Spotfire Desktop fails with 'Error message: Initialization failed. The application is not set up correctly. It will now terminate.'
The installation of the TIBCO Spotfire Desktop fails with 'Error message: Initialization failed. The application is not set up correctly. It will now terminate.' and 'The 'DbProviderFactories' section can only appear once per config file'.
The full stack trace may look like the following:
ApplicationSetupException at Spotfire.Dxp.Framework: Failed to initialize extension. (HRESULT: 80131500) Stack Trace: at Spotfire.Dxp.Framework.Services.GlobalServiceRegistry.GlobalServicesCreated(IServiceFactory serviceFactory, AddInManager addinManager) at Spotfire.Dxp.Main.Program.<>c__DisplayClass1.<StartMain>b__0() TypeInitializationException at Spotfire.Dxp.Data.Adapters.Vertica: The type initializer for 'Spotfire.Dxp.Data.Adapters.Vertica.VerticaAdapterFactory' threw an exception. (HRESULT: 80131534) Stack Trace: at Spotfire.Dxp.Data.Adapters.Vertica.VerticaAdapterFactory..ctor() at Spotfire.Dxp.Data.Adapters.Vertica.VerticaAdapterAddIn.RegisterDataAdapters(DataAdapterRegistrar registrar) at Spotfire.Dxp.Application.Extension.AddIn.Spotfire.Dxp.Framework.AddIn.IAddIn.RegisterDataAdapters(IServiceProvider serviceProvider) at Spotfire.Dxp.Framework.AddIn.AddInManager.Spotfire.Dxp.Framework.Services.IServiceFactory.UseGlobalServices(GlobalServiceRegistry serviceProvider) at Spotfire.Dxp.Framework.Services.GlobalServiceRegistry.GlobalServicesCreated(IServiceFactory serviceFactory, AddInManager addinManager) ConfigurationErrorsException at System.Configuration: The 'DbProviderFactories' section can only appear once per config file. (HRESULT: 80131902) Stack Trace: at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult) at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSection(String configKey) at System.Configuration.ConfigurationManager.GetSection(String sectionName) at System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName) at System.Data.Common.DbProviderFactories.Initialize() at System.Data.Common.DbProviderFactories.GetFactoryClasses() at Spotfire.Dxp.Data.Adapters.Vertica.VerticaAdapterFactory.GetInstalledVerticaDriverAssembly() at Spotfire.Dxp.Data.Adapters.Vertica.VerticaAdapterFactory..cctor()
Symptoms:
Spotfire Desktop installer fails with the following error:
- The 'DbProviderFactories' section can only appear once per config file
Cause:
This error may bee seen due to an issue in the machine.config file, which can happen when multiple versions of .NET are installed.
OPTION 1:
Check the following file:
- C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Machine.Config
The block to pay attention to is this:
<system.data> <DbProviderFactories> <add name="IBM DB2 for i5/OS .NET Provider" invariant="IBM.Data.DB2.iSeries" description=".NET Framework Data Provider for i5/OS" type="IBM.Data.DB2.iSeries.iDB2Factory, IBM.Data.DB2.iSeries, Version=12.0.0.0, Culture=neutral, PublicKeyToken=9cdb2ebfb1f93a26"/> <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/> </DbProviderFactories> <DbProviderFactories/> </system.data>
In the machine.config file under the V4.0.30319 folder, look for lines like (note that there are two separate DbProviderFactories nodes, one with data and one empty node):
<system.data> ... <DbProviderFactories /> </system.data>
Delete this line only (the empty DbProviderFactories node):
<DbProviderFactories />
Close and save the file.
For example, the above block when modified correctly would look like the following:
<system.data> <DbProviderFactories> <add name="IBM DB2 for i5/OS .NET Provider" invariant="IBM.Data.DB2.iSeries" description=".NET Framework Data Provider for i5/OS" type="IBM.Data.DB2.iSeries.iDB2Factory, IBM.Data.DB2.iSeries, Version=12.0.0.0, Culture=neutral, PublicKeyToken=9cdb2ebfb1f93a26"/> <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/> </DbProviderFactories> </system.data>
Then attempt to install TIBCO Spotfire Desktop again.
OPTION 2:
Uninstall Microsoft .NET completely from your computer and then reinstall just the latest version from Microsoft.
External: 'DbProviderFactories' section can only appear once per config file error
Comments
0 comments
Article is closed for comments.